Введение
VBA VBA-это аббревиатура, но ее полное название-Visual Basic для приложений. Это компьютерный язык для управления приложениями компьютера. VBA и VB могут взаимодействовать, но здесь мы ограничимся VBA. VBA включен в следующие приложения; CorelDRAW от 9 до X7 VBA также может в некоторой степени управлять другими приложениями, но это может быть ограничено или намного сложнее. Такие приложения являются; Adobe Acrobat Существует также множество других программ, созданных в основном корпорацией Майкрософт, которые позволяют VBA читать, настраивать, изменять или запускать программы, файлы и веб-страницы. Библиотека типов CDDBControl 1.0 jscript.dll Объектная библиотека Microsoft Forms 2.0 Объектная с помощью редактора можно иметь код VBA создать код VBA, и если требуется запустить этот код автоматически. Также можно преобразовать некоторый код VBA в файлы VBS (Visual Basic Script) (.vbs). Редактор CorelDRAW VBA Доступ ко всему коду VBA осуществляется через редактор VBA. Каждое приложение, полностью поддерживающее VBA, имеет свой собственный редактор VBA, но все редакторы очень похожи. откройте новый документ CorelDRAW. На рисунке выше показано, как выглядит редактор Corel VBA при первом открытии. Будут видны три дополнительных окна. Два меньших окна, одно над другим, будут слева, а третье окно-справа. Окно слева вверху-это окно «Проект», под ним — «Окно свойств». Большое окно предназначено для кода. Обратите внимание на красный кружок. В этой строке вы можете настроить ширину окна кода. Также, выбрав линию между окнами «Проект» и «Свойства», вы можете изменить вертикальный размер этих окон. Если окна проекта или свойств не отображаются, их можно отобразить повторно с помощью кнопки » Вид » на панели инструментов и выбрать окно, которое вы хотите отобразить. Эти окна можно переместить в другие места на экране, например, в правую часть. Есть и другие окна, которые также можно выбрать с помощью «Вид». Это «Окно немедленного доступа», «Окно местных жителей» и «Окно наблюдения». Файлы кода VBA, которые вы создаете, можно выбрать в окне «Проекты». Существует по крайней мере 2 папки, в которых могут храниться файлы кода. Это папка «GlobalMacros» и папка проекта VBA. Папка «GlobalMacros» — это место, где можно хранить код, чтобы он был доступен для запуска при открытии CorelDRAW. Для этого не требуется, чтобы был открыт конкретный документ corel. «VBAProject(Graphic1)» — это текущий несохраненный документ, который вы открыли. После сохранения «Graphic1» изменится на сохраненное имя файла. Если вы сохраняете код в папке VBAProject, то вы сохраняете код внутри открытого в данный момент файла corel, поэтому он доступен только при открытии этого конкретного файла corel. Окно кода имеет заголовки «(Общие)» слева и «(Объявления)» справа. В окне кода можно записать и прочитать открытый файл кода. «Явный параметр» должен находиться в верхней части кода в каждом окне кода. Вы можете ввести его, но он может автоматически отображаться по умолчанию. Чтобы он появился по умолчанию в инструменте на главной панели инструментов в окне VBA, выберите Параметры, а затем выберите «Требуется объявление переменной». Это не обязательно, но это уменьшит количество ошибок, которые вы совершаете, и пока вы пишете код, редактор VBA поможет вам, предоставив списки возможных методов и свойств. «Явная опция» означает, что если вы создадите какие-либо имена, иначе называемые переменными, для представления чего-либо, например фигуры, например «BIG_RECTANGLE», вы должны указать, что это фигура. Dim BIG_RECTANGLE как фигура .Вы не должны позволять программе ждать, пока имя будет впервые использовано, чтобы она догадалась, что это фигура, а не размер или цвет прямоугольника и т. Д. Явно определив, что представляет переменная, редактор VBA предложит вам предложения по мере написания кода. Пример Автоматизации В этом примере мы позволим CorelDRAW записать то, что мы делаем, чтобы это можно было повторить позже. Теперь выйдите из редактора VBA и вернитесь в CorelDRAW. Выберите CorelDRAW на панели задач в нижней части экрана или нажмите Alt+F11 или Вид на панели инструментов, затем CorelDRAW в раскрывающемся списке. Alt+F11 чередуется между редактором CorelDRAW VBA и CorelDRAW. Мы сохраним код в этом документе. Нажмите на маленький знак плюс слева от текста «VBAProject». Это расширится, чтобы открыть другую папку «Объект CorelDRAW X4». Разверните дальше, чтобы открыть другую папку под названием «Этот документ». Теперь дважды щелкните «Этот документ». Большое окно кода изменится на пустое окно с надписью «Явный параметр» вверху. Вернитесь в CorelDRAW, на панели инструментов выберите Инструменты — Макросы — Начать запись. Появится диалоговое окно. Это диалоговое окно отличается для каждой версии CorelDRAW. Однако оставьте имя по умолчанию, часто это Макро1, но нажмите «VBAProject», чтобы сохранить макрос в этом документе. Вы можете выбрать «GlobalMacros», если хотите. Сохранение в «GlobalMacros» делает ваш код доступным в каждом документе CorelDRAW, открытом на вашем компьютере. Теперь многое из того, что вы делаете в CorelDRAW, будет записываться как код VBA до тех пор, пока вы не отключите запись макросов. Нарисуйте прямоугольник на странице. Теперь нажмите Alt+F11, чтобы вернуться в редактор VBA. В окне проекта слева будет несколько записей. Обычно около четырех со знаками плюс рядом с ними, указывающими, что их можно расширить. Дважды щелкните «VBAProject». Он расширится, чтобы показать что-то вроде «CorelDrawObjects» и «Модули». Дважды щелкните «Модули», чтобы расширить его. Теперь там будет строка «RecordedMacros». Дважды щелкните «RecordedMacros», и ваш записанный код появится в окне кода слева от экрана. Ваш код должен быть похож на приведенный ниже, хотя цифры в коде будут отличаться, так как размер и положение вашего прямоугольника будут отличаться от моего. Субмакрос1() В окне проекта слева отображаются все макросы CorelDRAW, установленные на вашем компьютере, а также все, что вы написали или записали. Для этого конкретного документа его макросы хранятся в «VBAProject». «VBAProject» разделен на «Объекты CorelDRAW» и модули. Существует только один этот «Объект CorelDRAW», и это «Этот документ». Документ Модули набор s1 = Документы(1).Страницы(1).Слои(1).Создать прямоугольник(1.289362, 4.300362, 3.035772, 2.09526) Имя записанного макроса по умолчанию-RecordedMacros. Если вы вставите пустой модуль в окно проекта, имена модулей по умолчанию будут Module1, Module2 и т.д. Имена модулей могут быть изменены в окне Свойств на что-то более значимое. Выберите модуль в окне проекта, затем измените имя в окне свойств рядом с тем, где указано (Имя). Субмакро1() является началом кода, известного как подпрограмма, и в данном случае он имеет имя Macro1. Имя может быть изменено на что-то более значимое и имеет те же правила именования, что и переменные, см. ИМЕНОВАНИЕ ПЕРЕМЕННОЙ ниже. Все подпрограммы заканчиваются открывающей и закрывающей скобкой. ‘Записано 08.07.16 Это комментарий, и он нужен для разъяснения. Комментарий начинается с апострофа. Все, что находится в той же строке после апострофа, является комментарием, а не кодом. Комментарий может находиться в той же строке, что и код, но должен располагаться после этого кода. Если вы сохраняете код, хорошей идеей будет предоставить много комментариев по всему вашему коду, чтобы через месяцы или годы напомнить вам, что вы делаете на каждом этапе кода. В отличие от алгебры, знак равенства «=» имеет другое значение в компьютерном программировании. Установите означает, что s1 будет представлять что-то, объект или объекты, которые имеют несколько свойств или, другими словами, несколько значений. Это не только прямоугольник, но и s1 представляет значения ширины, высоты, цвета, положения, толщины линии и т.д. Если бы s1 была только шириной прямоугольника, то использование набора слов не требовалось бы. s1-объект формы. Для ясности рекомендуется переименовать эту переменную во что-то более значимое, такое как SHAPE1 или SHAP, shRECT или shRect и т. Д. Документы(1) означают первый открытый документ. Страницы(1) означают первую страницу документа. Слои(1) означает первый слой. End Sub ()-это конец макроса подпрограммы 1. Может последовать новая подпрограмма, которая начнется с ИМЕНИ макрокоманды Sub (), а также закончится на End Sub. В скобках после слова CreateRectangle указаны числа, которые представляют размер и положение прямоугольника на странице в дюймах. Чтобы определить, какое число соответствует какому, используйте мышь, чтобы выбрать первую скобку и повторно введите скобку. Желтым цветом появится подсказка, объясняющая, что означают цифры. Присвоение имен переменным Имена переменных не чувствительны к регистру, но капитализация сохраняется. Они должны начинаться с буквы, а не с цифры, и могут содержать в общей сложности до 255 символов. Вы не можете использовать пробел, точку (.), запятую (,), восклицательный знак (!), апостроф ( ‘ ) или символы@,&,$, # в имени, но вы можете использовать символ неполного счета (_). Символ недостаточной оценки удобен для разделения слов в имени переменной, чтобы облегчить чтение переменной. Старайтесь избегать имен переменных, которые предварительно определены VBA. Многие люди, пишущие код, используют первые 1 или 3 символа в имени каждой переменной, чтобы указать тип переменной. |
|||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||
Большинство людей не утруждают себя байтами, Синглами, Валютой и десятичными числами. Целочисленные, длинные и двойные числа являются наиболее часто используемыми типами чисел.
Теперь давайте запустим этот макрос. Выберите Alt-F11, чтобы вернуться к документу CorelDRAW. Удалите прямоугольник. Теперь выберите Сервис — Макросы — Запуск макросов. Выберите Макрос1, а затем выберите Выполнить. Теперь на документе появится прямоугольник. Под макросом «Sub Macro1()» введите несколько пустых строк, несколько раз нажав клавишу Enter. Пустые строки не имеют смысла, поэтому их можно добавлять в большинстве мест, не влияя на выполнение кода, но облегчая его чтение. Теперь скопируйте и вставьте приведенный ниже ПРИМЕР макроса. Этот новый макрос делает то же, что и первый, но его легче читать. Запись макроса дает вам некоторый исходный код для дальнейшего построения. В приведенном ниже примере весь код имеет отступы между открытием и закрытием макроса. Это облегчает понимание. Размеры прямоугольника были упрощены, но вы все равно можете указать местоположение с точностью до 6 знаков после запятой, если хотите. Кроме того, мы полагались на настройки по умолчанию для головок стрелок и т.д. и поэтому не указали столько переменных в строке SHAP.Контур.Установите свойства (0,008), Стили контуров(0), CreateCMYKColor(0, 0, 0, 100) в приведенном выше примере. Дополнительный ПРИМЕР() Теперь мы можем независимо запускать каждый макрос. Теперь, когда вы перейдете в раздел Инструменты — Макросы — Запуск макроса, у вас будет выбор макросов для запуска. Поиграйте с кодом. Измените значения CMYK, чтобы изменить цвета, измените размер и положение прямоугольника. В ПРИМЕРЕ макроса в конце кода, перед подстрокой Конец строки, в новой строке добавьте слово Macro1. Это приведет к тому, что ПРИМЕР макрокоманды разветвится на Макро1 непосредственно перед его завершением. Затем запустится макрос Macro1, а затем процедура кода вернется к примеру, чтобы окончательно завершить. Это создаст два прямоугольника. Чтобы запустить два макроса вместе, вам нужно только запустить ПРИМЕР. Ваш код будет похож на этот. Опция Явный Субмакрос1() ПРИМЕРА Sub Sub() расчетов, связанных со смешанными типами переменных будьте очень, очень осторожны умножения, добавить и т. д. переменных, где есть смешанные типы переменных и ожидая ответа в другой числовой тип. Умножения чисел, когда результат будет долго еще ограничен максимальный размер целого числа. т. е. 32 767. Умножение целого числа на длинное число приведет к созданию длинного числа. Лучше всего конвертировать числа в другие типы чисел до или по мере их вычисления. Проблемы с памятью при использовании Set Каждый раз, когда вы используете Set, например, объект Set=….. выделена память. Эта память не будет автоматически освобождена после выполнения кода или даже после закрытия такого приложения, как CorelDRAW. Он будет выпущен при перезагрузке компьютера. В коде, где есть цикл и набор находится в цикле, дополнительная память будет расходоваться каждый раз, когда набор встречается, даже если вы задаете одну и ту же переменную для другого или одного и того же объекта. Если вы выполните цикл достаточно много раз, код в конечном итоге завершится ошибкой. Чтобы избежать этого, когда закончите с набором объектов Вот тот же код выше, но исправленный для потери памяти. Опция Явный Под-Макрос1() Здесь тот же код, упрощенный еще больше. Дополнительный ПРИМЕР() Ниже приведен некоторый код, который создаст 3 прямоугольника в разных положениях разных цветов. Он показывает цикл, использование набора внутри цикла и использование переменной, в данном случае СЧЕТЧИКА, для изменения положения и цвета. Цикл здесь на некоторое время петля. Пока СЧЕТЧИК переменных меньше или равен 3, код между While и Wend будет повторяться бесконечно. Обратите внимание, что СЧЕТЧИК строк = СЧЕТЧИК + 1 В математике этого не может быть, но в программировании это означает, что переменная слева принимает новое значение, которое находится справа. В этом случае СЧЕТЧИК увеличивается на 1 каждый раз, когда происходит цикл. Когда СЧЕТЧИК больше 3, то появится код под Wend. В этом случае код заканчивается. Sub TEST() СЧЕТЧИК Целых ЧИСЕЛ = 1 В ситуациях, когда у вас есть выход или Завершение в операторе «Если», ваш код может покинуть процедуру, не встретив «Set =……… Ничего». В этих случаях ставьте дополнительный «Набор «……… Ничего» в операторе «Если». Функции Встроенная функция CreateRectangle в приведенном выше примере заключает аргументы в квадратные скобки. Ввод скобок во время кодирования полезен для получения подсказок intellisense, но они удаляют скобки, если функция не равна переменной. Если вы хотите изменить порядок аргументов, вы можете специально указать аргументы в любом порядке, используя»:=» Встроенные функции CorelDRAW VBA используют имперские измерения, то есть дюймы. Чтобы преобразовать мм в дюймы, разделенные на 25,4 , вы можете создать свои собственные функции. Они возвращают значение. Вот простой пример функции, созданной пользователем. Поместите следующее в модуль и запустите тест. Дополнительный ТЕСТ() Функция dblInches(длина DBLL Двойная) Как функция Double При запуске макро-ТЕСТА будет создано окно сообщения. Msgbox-это встроенная функция VBA. В разделе сообщений Msgbox, который находится перед первой запятой, текст указывается кавычками. Для каждой функции Для каждого есть фрагмент кода, который позволяет просматривать каждый открытый документ, страницу, слой или фигуру в коллекции этих объектов. Базовая компоновка показана ниже. Dim obj [как Object_Type] Нет необходимости создавать переменную «Объекты» для представления коллекции объектов, которые вы собираетесь просмотреть. Вы должны объявить переменную, которая будет представлять каждый объект, который вы исследуете. Например, в следующей строке код знает, что «obj» — это фигура, поскольку это группа фигур, которые вы ищете. Если вы хотите просмотреть каждую страницу документа, вы должны объявить переменную как страницу. Аналогично для слоев на странице. Аналогично для фигур на странице. Не обязательно указывать, что будет дальше…… например, следующий pgSheet. и т.д. Для каждого из них могут позволить вам пройти через каждый открытый документ CorelDRAW. Обратите внимание, что последний объект в каждой строке кода представляет несколько объектов того типа, через которые вы проходите. Следующее не работает, так как вы ищете фигуры в наборе страниц. Ниже будет показано, как рассмотреть каждую фигуру в наборе фигур. Вы также можете объявить переменную для представления набора фигур. |
2021-10-13