Category: it

Первый шаг к VBA или запускаем процедуру в AutoCAD'е

Сегодня меня вдруг заинтересовал Visual Basic for Applications (VBA), конечно изучение впереди, а сейчас я напишу как запустить процедуру VBA из командной строки или, что почти то же самое, нажатием кнопки. Итак:
  1. Создаём файл vbatest.lsp и вставляем в него следующий код:
    ;; Test VBA COMMAND
    (defun c:vbatest (/)
    (princ)
    )
  2. Теперь уже в Visual Basic Editor жмём в пункт меню Insert ► Module, в открывшееся окно вставляем следующий код:
    Public Sub VBATest()
    MsgBox "Всё работает нормально."
    End Sub
  3. Далее двойной клик в дереве проекта Project по строчке ThisDrawing, в открывшееся окно вставляем следующий код:
    Private Sub AcadDocument_BeginLisp(ByVal FirstLine As String)
    If FirstLine = "(C:VBATEST)" Then
    Call VBATest
    End If
    End Sub
  4. Закрываем окно Visual Basic Editor нажимая на пункт меню File ► Close end Return to AutoCAD.
  5. Далее подгружаем vbatest.lsp в AutoCAD (для меня самое удобное просто перетащить файл в окно AutoCAD’а). Командой vbatest будут выполняться действия, прописанные в коде в пункте 3. В данном примере это окно с сообщением Всё работает нормально.
  6. Для создания кнопки жмём Tools ► Customize ► Interface… создаём команду и в строку Macro вставляем vbatest.
Вот собственно и всё. Теперь открываются новые горизонты… будем осваивать.

Основанием служил материал Запуск процедуры VBA из командной строки.

Update: Поэкспериментировал с форматом вывода кода в журнале, содержание осталось прежним, комментарии приветствуются.