Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Интересное:
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Далее последует краткий обзор методам обработки ошибок, управления фокусом окон и создания дистрибутивов.
Для отображения и скрытия формы используются методы Show и Hide
Public Sub MyApplication() UserForm1.Show UserForm1.HideEnd SubВсе формы в VBA модальные, то есть пока их не закроешь невозможно что-либо править в чертеже. Когда форма скрыта уже возможно кое-что править. Форму можно загрузить, но сразу не отображать. С целью освобождения памяти ненужные формы можно выгружать методом Unload.
Все диалоговые окна в VBA также модальны, то есть если применяешь диалоговое окно в котором от пользователя ожидается выбор элементов на рисунке путем их указания следует сначала скрыть окно диалога, а по окончании выбора - показать.
Из трех типов ошибок (периода компиляции, логических и периода выполнения) обработать программным путем в полной мере можно только последние. Их следует отслеживать в местах наиболее вероятного появления и обрабатывать. Обработчик по-умолчанию только отображает окно с кодом ошибки и предлагает либо перейти в отладчик, либо завершить выполнение программы. Обычно обработчики ошибок ставятся в тех местах, где ожидается ввод от пользователя или файловый ввод-вывод. Для обработки ошибок в VBA используется оператор On Error который имеет три формы:
· On Error Resume Next
· On Error Goto Label
· On Error Goto 0
Первый метод позволяет просто игнорировать ошибку и продолжать выполнение оператора, следующего за оператором, вызвавшим ошибку, не отображая сообщения об ошибке. Это удобно, например, при смене цвета путем циклического перебора всех объектов, если при этом программа натолкнется на элемент, находящийся на заблокированном слое, то просто игнорирует ошибку:
Sub ColorEntities() Dim entry As Object On Error Resume Next For Each entry In ThisDrawing.ModelSpace entry.Color = acRed Next entryEnd SubВариант On Error GoTo Label используется, если нужно написать особый обработчик ошибки:
Sub ColorEntities2() Dim entry As Object On Error GoTo MyErrorHandler For Each entry In ThisDrawing.ModelSpace entry.Color = acRed Next entry ' Важно! Выйти из программы чтобы не нарваться на обработчик ошибок Exit SubMyErrorHandler: Msgbox entry.EntityName + " на блокированном слое." + " хэндл: " + entry.Handle Resume NextEnd SubВариант On Error GoTo 0 отменяет текущий обработчик ошибок. Обработка ошибок завершается окончанием процедуры обработчика, новым обработчиком ошибок или переходом по "нулевой" метке.
Объект Err обладает следующими свойствами Number, Description, Source, HelpFile, HelpContext, и LastDLLError. Наиболее важны из них первые три (код ошибки, ее описание и источник). Использование метода InitializeUserInput перед получением ввода от пользователя ограничивает количество возможных ошибок.
Зашифровать и защитить паролем программу на VBA возможно через Tools=>Project>Properties=>Protection.
Чтобы запустить макрос VBA из командной строки
-VBARUN Filename.dvb!projectname.macronameПри этом указывать имя файла проекта нужно только в случае если он еще не загружен в текущем сеансе.
Автозагрузка проекта на VBA возможна двумя способами:
При загрузке Autocad просматривает каталог, откуда он запущен, на предмет наличия файла acad. dvb который и выполняется, если найден.
Любой другой проект можно включить в автозагрузку посредством команды VBALOAD.
В следующем примере используется файл автозагрузки autolisp для запуска VBA и запуска проекта myproj. dvb. Эти строчки нужно добавить в acad. lsp
(defun S::STARTUP() (command "_VBALOAD" "myproj.dvb"))Для автоматического выполнения макроса из acad.dvb можно сделать так (defun S::STARTUP() (command "_VBARUN" "drawline"))Также при загрузке VBA автовыполняется макрос с именем AcadStartup.
Работа с VBA когда не открыт ни один документ
Если ни один документ не открыт, то возникнут следующие особенности:
· объект ThisDrawing в данный момент не определен, поэтому любое обращение к нему вызовет ошибку;
· не определены все документозависимые объекты, но доступны, например объекты Application или MenuBar;
· отсутствует командная строка.
Распространение программ
Возможны два варианта - внедрение в файл чертежа или отдельным файлом. В отдельном файле удобно хранить общие процедуры.
|
|
|
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!