vanuch
@vanuch

Как проверить установлены ли элементы управление которые испльзуются в UserForm (VBA)?

Нужно в excel-евский файл добавить всплывающий календарик для ввода дат в соответствующие поля. Реализовал это с помощью UserForm и элемента управления «Календарь» (Calendar Control), благо в интернете полно примеров. Например на planetaexcel.ru.


Но, как оказалось, этот элемент управления присутствует далеко не на каждом компьютере. И если его там нет, то VBA генерит сообщение о ошибке практически на каждое действие (что тоже немного странно, но вопрос в другом). Планируется что файл будет использоваться на разных компьютерах под разными версиями windows (XP и выше) и office (2003 и выше).


Можно ли как то средствами VBA проверить наличие установленного элемента управления «Календарь», и если его нет, даже не пытаться инициировать форму с календарем? Другими словами, вести себя так, как будто этого функционала просто нет.
  • Вопрос задан
  • 4624 просмотра
Пригласить эксперта
Ответы на вопрос 1
NorthDakota
@NorthDakota
PHP програмист
Самый простой способ на мой взгляд, это узнать где лежит компонент, и как он именуется.
Например c:\windows\system32\calendar.ocx
А потом с помощью вот такой, или похожей функции узнать есть ли он там

Function FileExist(filename As String) As Boolean
On Error Resume Next
FileExist = Dir$(filename) <> ""
If Err.Number <> 0 Then FileExist = False
On Error GoTo 0
End Function
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы