Страница 1 из 1

Проблема с VBA в ACCESS 2003

Добавлено: 22 мар 2008, 02:03
GoLdViPeX
Вопрос может быть глупый, но всё же. При использовании всех переменных, которые начинаются с "mso", например msoModeModeless, msoIconTip, msoButtonSetOk, msoBarRight и т.д. VBA выдает ошибку "Variable not definded", то есть переменная не определена. Как решить данную проблему?

Re: Проблема с VBA в ACCESS 2003

Добавлено: 22 мар 2008, 08:28
VictorM
Ответ может быть глупый, но всё же. Заменить mso на что - либо другое, т.к. mso зарезервировано системой.

Re: Проблема с VBA в ACCESS 2003

Добавлено: 22 мар 2008, 11:21
GoLdViPeX
Смысл как раз в том и заключается что эти зарезервированные системой переменные этой же системой почему-то не определяются, хотя и в справочнике и в куче мануалов эти переменные широко используются.

Простой пример(работа с ассистентом):

Код: Выделить всё

Public Function Blase() 
Dim B As Variant 'Инициализация пузыря
Dim X As Integer 'Инициализация переменной
Set B = Assistant.NewBalloon
Beep
With B
'Заголовок
.Heading = "{cf 252} Добро пожаловать в базу данных!{cf 0}"
.Text = "Вы хотите сделать резервную копию базы перед работой?"
[B].Mode = msoModeModeless
.Button = msoButtonSetOkCancel[/B] 
X = .Show
End With
End Function
На строчках, помеченных жирным шрифтом как раз и высвечивается вышеназванная ошибка.

Re: Проблема с VBA в ACCESS 2003

Добавлено: 22 мар 2008, 11:28
VictorM
Значит я сразу не так Вас понял, извините. Видимо дело не в mso.

Re: Проблема с VBA в ACCESS 2003

Добавлено: 22 мар 2008, 17:26
Teslenko_EA
Здравствуйте GoLdViPeX.
строка "...Assistant.NewBalloon..." подсказывает, что производится попытка запрограмировать "Помошника" MS Office.
Для начала стоит проверить есть ли возможность его програмировать - установлен ли он в Вашем Office.
Евгений.

Re: Проблема с VBA в ACCESS 2003

Добавлено: 22 мар 2008, 18:21
Aent
Я бы начал с того что посмотрел: есть ли в проекте ссылка на
Microsoft Office 11.0 Object Library, указывающая на MSO.DLL ... ;)
И есть ли сама dll. По умолчанию она располагается в C:\Program Files\Common Files\Microsoft Shared\OFFICE11\

Re: Проблема с VBA в ACCESS 2003

Добавлено: 23 мар 2008, 00:03
GoLdViPeX
Teslenko_EA, ассистент в системе установлен и работает. Если убрать эти две строчки, выделенные жирным шрифтом, то всё нормально выводится.

Re: Проблема с VBA в ACCESS 2003

Добавлено: 23 мар 2008, 00:25
GoLdViPeX
Aent, огромное спасибо! Прописал в Tools->References эту библиотеку и всё заработало.