Прошу помощи! При интерактивном открытии файла Excel, сначала показывается UserForm, которая устанавливает
числовую константу в модуле VBAProject, затем открывается Лист1. Как программ
1085;о установить значение константы при открытии, или хотя бы показать пользователю UserForm?
Отправлен: 18.05.2007, 13:33
Вопрос задал: Mart Land (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: Тесленко Евгений Алексеевич
Здравствуйте, Mart Land!
Константа (постоянная) не "...устанавливается при открытии...", а декларируется в коде программы:
Public Const sConst As String = "Text"
Const iConst = 12000
Иначе это просто переменная.
Евгений.
Отвечает: Alec Perle
Здравствуйте, Mart Land!
Если я правильно понял, Вам необходимо изменить объявление константы непосредственно в тексте модуля.
Нижеприведенная процедура NewConst позволяет это сделать. Также привожу пример использования. Посте запуска Proba первая строка изменится на Const CCC = 5
Но!
По умолчанию в MS Office возможность программного доступа к коду отключена, и попытки обращения вызовут ошибку.
Чтобы включить возможность доступа к коду макроса необходимо:
меню Сервис - Макрос - Безопасность..., вкладка "Надежные источники" поставить галочку "Доверять доступ к Visual Basic Project"
Чтобы при открытии показывалась форма, например UserForm1 необходимо создать обработчик события открытия книги в модуль ЭтаКнига:
Private Sub Workbook_Open()
UserForm1.Show
End Sub
Приложение:
--------- Пессимист - это хорошо информированный оптимист (а оптимист - хорошо проинструктированный пессимист)
Ответ отправил: Alec Perle (статус: 7-ой класс)
Ответ отправлен: 18.05.2007, 20:31 Оценка за ответ: 5 Комментарий оценки: Точный и исчерпывающий ответ.