Проблема с VBA в ACCESS 2003
Модератор: Naeel Maqsudov
Вопрос может быть глупый, но всё же. При использовании всех переменных, которые начинаются с "mso", например msoModeModeless, msoIconTip, msoButtonSetOk, msoBarRight и т.д. VBA выдает ошибку "Variable not definded", то есть переменная не определена. Как решить данную проблему?
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
Ответ может быть глупый, но всё же. Заменить mso на что - либо другое, т.к. mso зарезервировано системой.
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".
Смысл как раз в том и заключается что эти зарезервированные системой переменные этой же системой почему-то не определяются, хотя и в справочнике и в куче мануалов эти переменные широко используются.
Простой пример(работа с ассистентом):
На строчках, помеченных жирным шрифтом как раз и высвечивается вышеназванная ошибка.
Простой пример(работа с ассистентом):
Код: Выделить всё
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
-
- Сообщения: 526
- Зарегистрирован: 04 фев 2007, 18:37
- Откуда: Сургут
- Контактная информация:
Здравствуйте GoLdViPeX.
строка "...Assistant.NewBalloon..." подсказывает, что производится попытка запрограмировать "Помошника" MS Office.
Для начала стоит проверить есть ли возможность его програмировать - установлен ли он в Вашем Office.
Евгений.
строка "...Assistant.NewBalloon..." подсказывает, что производится попытка запрограмировать "Помошника" MS Office.
Для начала стоит проверить есть ли возможность его програмировать - установлен ли он в Вашем Office.
Евгений.
- Aent
- Сообщения: 1129
- Зарегистрирован: 01 окт 2006, 14:52
- Откуда: Saratov,Russia
- Контактная информация:
Я бы начал с того что посмотрел: есть ли в проекте ссылка на
Microsoft Office 11.0 Object Library, указывающая на MSO.DLL ...
И есть ли сама dll. По умолчанию она располагается в C:\Program Files\Common Files\Microsoft Shared\OFFICE11\
Microsoft Office 11.0 Object Library, указывающая на MSO.DLL ...

И есть ли сама dll. По умолчанию она располагается в C:\Program Files\Common Files\Microsoft Shared\OFFICE11\
Teslenko_EA, ассистент в системе установлен и работает. Если убрать эти две строчки, выделенные жирным шрифтом, то всё нормально выводится.
Aent, огромное спасибо! Прописал в Tools->References эту библиотеку и всё заработало.