Руководство по CorelDRAW VBA

Введение

VBA VBA-это аббревиатура, но ее полное название-Visual Basic для приложений. Это компьютерный язык для управления приложениями компьютера.
Это автономная ветвь VB (Visual Basic). VB не зависит от приложений, в то время как VBA всегда привязан к приложениям.
Если код VBA написан в CorelDRAW, то CorelDRAW должен быть открыт для запуска кода VBA.

VBA и VB могут взаимодействовать, но здесь мы ограничимся VBA.

VBA включен в следующие приложения;

CorelDRAW от 9 до X7
Microsoft Excel
Microsoft Word
Microsoft Access
Microsoft PowerPoint
Microsoft Outlook
Microsoft Publisher
Microsoft Visio
AutoCAD

VBA также может в некоторой степени управлять другими приложениями, но это может быть ограничено или намного сложнее. Такие приложения являются;

Adobe Acrobat
Adobe Illustrator
Adobe В дизайне
Adobe Photo-Shop
CuteFTP
DOS-приложения
Internet Explorer
MailSend
Microsoft Windows
Stroke Scribe

Существует также множество других программ, созданных в основном корпорацией Майкрософт, которые позволяют VBA читать, настраивать, изменять или запускать программы, файлы и веб-страницы.

Библиотека типов CDDBControl 1.0

jscript.dll Объектная библиотека Microsoft Forms 2.0 Объектная
модель Microsoft Forms
Майкрософт график 14.0 библиотека объектов
Microsoft в формате HTML библиотеку объектов
Microsoft Интернета инструментов
Майкрософт Офис 15.0 библиотека объектов
Microsoft сценарий контроля 1.0
среда выполнения сценариев Microsoft
для Microsoft VBScript с помощью регулярных выражений 5.5
для Microsoft общих элементов управления Windows 6.0
и Microsoft службы WinHTTP услуг У5.1
Майкрософт сценариев WMI В1.2 библиотеки
XML в Microsoft, В6.0
mscomct2.ОСХ
RegObj.дл
заshell32.dll файлы
ВБЕ
функций API-интерфейса Windows
сервер сценариев Windows объектной модели

с помощью редактора можно иметь код VBA создать код VBA, и если требуется запустить этот код автоматически.

Также можно преобразовать некоторый код VBA в файлы VBS (Visual Basic Script) (.vbs).
Файл VBS может быть преобразован в exe-файл, для запуска которого не требуется программа, совместимая с VBA.

Редактор CorelDRAW VBA

Доступ ко всему коду VBA осуществляется через редактор VBA. Каждое приложение, полностью поддерживающее VBA, имеет свой собственный редактор VBA, но все редакторы очень похожи.

откройте новый документ CorelDRAW.
Нажмите 2 кнопки Alt+F11 или в качестве альтернативы выберите Инструменты на главной панели инструментов, затем Макросы, затем Редактор Visual Basic.
Теперь откроется редактор VBA.

На рисунке выше показано, как выглядит редактор 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 до тех пор, пока вы не отключите запись макросов.

Нарисуйте прямоугольник на странице.
Теперь заполните прямоугольник равномерной заливкой, красным цветом CMYK, где C=0, M=70, Y=90 и K=0.
Теперь остановите запись, перейдя в меню Инструменты — Макросы — Остановить запись.

Теперь нажмите Alt+F11, чтобы вернуться в редактор VBA. В окне проекта слева будет несколько записей. Обычно около четырех со знаками плюс рядом с ними, указывающими, что их можно расширить. Дважды щелкните «VBAProject». Он расширится, чтобы показать что-то вроде «CorelDrawObjects» и «Модули». Дважды щелкните «Модули», чтобы расширить его. Теперь там будет строка «RecordedMacros». Дважды щелкните «RecordedMacros», и ваш записанный код появится в окне кода слева от экрана. Ваш код должен быть похож на приведенный ниже, хотя цифры в коде будут отличаться, так как размер и положение вашего прямоугольника будут отличаться от моего.

Субмакрос1()
‘ Записан 08.07.16
Тусклый s1 Как
Набор Фигур s1 = Активный слой.Создайте прямоугольник(1.289362, 4.300362, 3.035772, 2.09526)
s1.Заполните.Примените
заполнение s1.Контур.Свойства набора 0,007874, Стили оформления(0), цвет CreateCMYKColor(0, 0, 0, 100), Наконечники(0), наконечники(0), cdrFalse, cdrFalse, cdrOutlineButtLineCaps, cdrOutlineMiterLineJoin, 0#, 100, Ограничение:=5#
s1.Заполните.Однородный цвет.CMYKAssign 0, 70, 90, 0
Конец Sub

В окне проекта слева отображаются все макросы CorelDRAW, установленные на вашем компьютере, а также все, что вы написали или записали. Для этого конкретного документа его макросы хранятся в «VBAProject». «VBAProject» разделен на «Объекты CorelDRAW» и модули. Существует только один этот «Объект CorelDRAW», и это «Этот документ».

Документ
«Этот документ» — это место, где хранится код, который только обрабатывает и изменяет страницы CorelDRAW в этом документе. Он не может содержать код, который будет манипулировать другими документами CorelDRAW или другими файлами, папками, компьютерами или приложениями и т.д. Любой код в «Этом документе» не должен явно указывать, какой документ он изменяет, поскольку он не может изменять какой-либо другой документ. Обратите внимание, что каждый открытый документ CorelDRAW будет иметь свой собственный документ ThisDocument.

Модули
Эта папка может содержать столько модулей, сколько вы пожелаете. Модули содержат код, который может изменять любой документ CorelDRAW, файлы, папки, компьютер или приложения и т.д. Чтобы изменить документ, вы должны указать, какой объект или документ вы имеете в виду. В приведенном выше примере это относится к активному слою. Поскольку у вас открыт активный документ CorelDRAW, он должен быть активным слоем, но в строке Установлено s1 = ActiveLayer.Создай треугольник………… мог быть написан

набор s1 = Документы(1).Страницы(1).Слои(1).Создать прямоугольник(1.289362, 4.300362, 3.035772, 2.09526)

Имя записанного макроса по умолчанию-RecordedMacros. Если вы вставите пустой модуль в окно проекта, имена модулей по умолчанию будут Module1, Module2 и т.д. Имена модулей могут быть изменены в окне Свойств на что-то более значимое. Выберите модуль в окне проекта, затем измените имя в окне свойств рядом с тем, где указано (Имя).

Субмакро1() является началом кода, известного как подпрограмма, и в данном случае он имеет имя Macro1. Имя может быть изменено на что-то более значимое и имеет те же правила именования, что и переменные, см. ИМЕНОВАНИЕ ПЕРЕМЕННОЙ ниже. Все подпрограммы заканчиваются открывающей и закрывающей скобкой.

‘Записано 08.07.16 Это комментарий, и он нужен для разъяснения. Комментарий начинается с апострофа. Все, что находится в той же строке после апострофа, является комментарием, а не кодом. Комментарий может находиться в той же строке, что и код, но должен располагаться после этого кода. Если вы сохраняете код, хорошей идеей будет предоставить много комментариев по всему вашему коду, чтобы через месяцы или годы напомнить вам, что вы делаете на каждом этапе кода.
Пустые строки не влияют на код, но могут разбить код на разделы и таким образом упростить понимание.
Отступ кода-это еще один способ помочь понять код. Начало и конец циклов кода должны иметь одинаковый отступ, а промежуток между ними должен быть с дальнейшим отступом. Самый простой способ отступа — использовать клавишу tab.

В отличие от алгебры, знак равенства «=» имеет другое значение в компьютерном программировании.
В алгебре знак равенства означает, что обе стороны уравнения равны друг другу.
В компьютерном программировании знак равенства-это команда.
Левая сторона всегда представляет собой только 1 переменную, а не математическую формулу.
Знак равенства указывает, что переменная с левой стороны представляет объект/объекты или значение с правой стороны.
В результате в программировании, но не в алгебре, допустимо следующее.
X = X + 1
Если изначально переменная X равнялась 3, то строка кода выше увеличит значение X до 4.

Установите означает, что s1 будет представлять что-то, объект или объекты, которые имеют несколько свойств или, другими словами, несколько значений. Это не только прямоугольник, но и s1 представляет значения ширины, высоты, цвета, положения, толщины линии и т.д. Если бы s1 была только шириной прямоугольника, то использование набора слов не требовалось бы.

s1-объект формы. Для ясности рекомендуется переименовать эту переменную во что-то более значимое, такое как SHAPE1 или SHAP, shRECT или shRect и т. Д.

Документы(1) означают первый открытый документ.

Страницы(1) означают первую страницу документа.

Слои(1) означает первый слой.

End Sub ()-это конец макроса подпрограммы 1. Может последовать новая подпрограмма, которая начнется с ИМЕНИ макрокоманды Sub (), а также закончится на End Sub.

В скобках после слова CreateRectangle указаны числа, которые представляют размер и положение прямоугольника на странице в дюймах. Чтобы определить, какое число соответствует какому, используйте мышь, чтобы выбрать первую скобку и повторно введите скобку. Желтым цветом появится подсказка, объясняющая, что означают цифры.

Присвоение имен переменным

Имена переменных не чувствительны к регистру, но капитализация сохраняется. Они должны начинаться с буквы, а не с цифры, и могут содержать в общей сложности до 255 символов. Вы не можете использовать пробел, точку (.), запятую (,), восклицательный знак (!), апостроф ( ‘ ) или символы@,&,$, # в имени, но вы можете использовать символ неполного счета (_). Символ недостаточной оценки удобен для разделения слов в имени переменной, чтобы облегчить чтение переменной.

Старайтесь избегать имен переменных, которые предварительно определены VBA.
например, Тусклая ФОРМА Как ФОРМА
Понятнее назвать объект другим именем. например, SHAPE1, SH или shRECTANGLE и т. Д.

Многие люди, пишущие код, используют первые 1 или 3 символа в имени каждой переменной, чтобы указать тип переменной.
например, длина в виде целого числа. Вот несколько распространенных префиксов.

Тип переменной Префиксы Диапазон
Байт быт от 0 до 255
Целое число инт -32 768-32 767
Длинный спг или л -2 147 483 648 до 2 147 483 647
Очень долго llng или ll Доступно только в 64-разрядных приложениях.
-9,223,372,036,854,775,808 до 9,223,372,036,854,775,807
ЛонгПтр llng или ll Диапазон варьируется в зависимости от области применения.
В 32-разрядном приложении это то же самое, что и Long.
В 64-разрядном приложении это то же самое, что и LongLong.
Одиночный sng От -3.402823E38 до -1,401298 E-45 для отрицательных значений;
1,401298 E-45 до 3.402823E38 для положительных значений
Двойной дублированный -1,79769313486231E308 до -4,94065645841247 E-324 для отрицательных значений;
4,94065645841247 E-324 до 1.79769313486232E308 для положительных значений
Валюта cur или ccy -922,337,203,685,477,5808 — 922,337,203,685,477,5807
Строка ул от 0 до примерно 2 миллиардов символов
Вариант var Любое числовое значение в диапазоне от двойного или для строки 2 миллиарда символов
Дата dat или dte С 1 января 100 года по 31 декабря 9999 года
Логический млрд или в Правда или Ложь
Объект об.
Гиперссылка гип
Форма ш
Большинство людей не утруждают себя байтами, Синглами, Валютой и десятичными числами. Целочисленные, длинные и двойные числа являются наиболее часто используемыми типами чисел.

Теперь давайте запустим этот макрос. Выберите Alt-F11, чтобы вернуться к документу CorelDRAW. Удалите прямоугольник. Теперь выберите Сервис — Макросы — Запуск макросов. Выберите Макрос1, а затем выберите Выполнить. Теперь на документе появится прямоугольник.

Под макросом «Sub Macro1()» введите несколько пустых строк, несколько раз нажав клавишу Enter. Пустые строки не имеют смысла, поэтому их можно добавлять в большинстве мест, не влияя на выполнение кода, но облегчая его чтение. Теперь скопируйте и вставьте приведенный ниже ПРИМЕР макроса.

Этот новый макрос делает то же, что и первый, но его легче читать. Запись макроса дает вам некоторый исходный код для дальнейшего построения.

В приведенном ниже примере весь код имеет отступы между открытием и закрытием макроса. Это облегчает понимание.

Размеры прямоугольника были упрощены, но вы все равно можете указать местоположение с точностью до 6 знаков после запятой, если хотите. Кроме того, мы полагались на настройки по умолчанию для головок стрелок и т.д. и поэтому не указали столько переменных в строке SHAP.Контур.Установите свойства (0,008), Стили контуров(0), CreateCMYKColor(0, 0, 0, 100) в приведенном выше примере.

Дополнительный ПРИМЕР()
Затемняйте Шапку Как форму
, Установите шапку = Активный слой.Создайте прямоугольник(1, 4, 3, 2)
ШАП.Контур.Набор свойств (0,008), Стили контуров(0), CreateCMYKColor(0, 0, 0, 100)
ШАП.Заполни.Однородный цвет.CMYKAssign 0, 70, 90, 0
End Sub

Теперь мы можем независимо запускать каждый макрос. Теперь, когда вы перейдете в раздел Инструменты — Макросы — Запуск макроса, у вас будет выбор макросов для запуска.

Поиграйте с кодом. Измените значения CMYK, чтобы изменить цвета, измените размер и положение прямоугольника.

В ПРИМЕРЕ макроса в конце кода, перед подстрокой Конец строки, в новой строке добавьте слово Macro1. Это приведет к тому, что ПРИМЕР макрокоманды разветвится на Макро1 непосредственно перед его завершением. Затем запустится макрос Macro1, а затем процедура кода вернется к примеру, чтобы окончательно завершить. Это создаст два прямоугольника. Чтобы запустить два макроса вместе, вам нужно только запустить ПРИМЕР.

Ваш код будет похож на этот.

Опция Явный

Субмакрос1()
‘ Записана 08.07.16
Dim s1 Как
Набор фигур s1 = Активный слой.CreateRectangle(1.289362, 4.300362, 3.035772, 2.09526)
s1.Заполните.Примените
заполнение s1.Контур.Свойства набора 0,007874, Стили оформления(0), цвет CreateCMYKColor(0, 0, 0, 100), Наконечники стрел(0), наконечники стрел(0), cdrFalse, cdrFalse, cdrOutlineButtLineCaps, cdrOutlineMiterLineJoin, 0#, 100, miterLimit:=5#
s1.Заполните.Однородный цвет.CMYKAssign 0, 70, 90, 0
Конец

ПРИМЕРА Sub Sub()
Dim SHAP Как
Набор фигур SHAP = Активный слой.Создайте прямоугольник(1, 4, 3, 2)
ШАП.Контур.Заданные свойства (0,008), стили контуров(0), CreateCMYKColor(0, 0, 0, 100)
ШАП.заливка.Однородный цвет.CMYKAssign 0, 70, 90, 0
Макрос macro1 ‘это автоматически запускает макрос, макрос macro1.
Конец подпрограммы

расчетов, связанных со смешанными типами переменных

будьте очень, очень осторожны умножения, добавить и т. д. переменных, где есть смешанные типы переменных и ожидая ответа в другой числовой тип.

Умножения чисел, когда результат будет долго еще ограничен максимальный размер целого числа. т. е. 32 767. Умножение целого числа на длинное число приведет к созданию длинного числа.

Лучше всего конвертировать числа в другие типы чисел до или по мере их вычисления.
ie CLng(выражение) преобразует числовую переменную в long.

Проблемы с памятью при использовании Set

Каждый раз, когда вы используете Set, например, объект Set=….. выделена память. Эта память не будет автоматически освобождена после выполнения кода или даже после закрытия такого приложения, как CorelDRAW. Он будет выпущен при перезагрузке компьютера. В коде, где есть цикл и набор находится в цикле, дополнительная память будет расходоваться каждый раз, когда набор встречается, даже если вы задаете одну и ту же переменную для другого или одного и того же объекта. Если вы выполните цикл достаточно много раз, код в конечном итоге завершится ошибкой. Чтобы избежать этого, когда закончите с набором объектов
object = Ничто
не освободит память. Это означает, что если в цикле есть какие-либо наборы, вам нужно установить object = Nothing в том же цикле. Должно быть по крайней мере столько же Set object = Ничего, сколько Set object=……..

Вот тот же код выше, но исправленный для потери памяти.

Опция Явный

Под-Макрос1()
‘Записано 08.07.16
Тусклый s1 Как
Набор Фигур s1 = Активный слой.Создайте прямоугольник(1.289362, 4.300362, 3.035772, 2.09526)
s1.Заполните.Примените
заполнение s1.Контур.Свойства набора 0,007874, Стили оформления(0), цвет CreateCMYKColor(0, 0, 0, 100), Наконечники(0), наконечники(0), cdrFalse, cdrFalse, cdrOutlineButtLineCaps, cdrOutlineMiterLineJoin, 0#, 100, Ограничение:=5#
s1.Заполните.Однородный цвет.CMYKAssign 0, 70, 90, 0
Набор s1 = Ничего
, Конец Ниже

Здесь тот же код, упрощенный еще больше.
CorelDRAW измеряет расстояния в дюймах.
Я удалил дроби из измерений.

Дополнительный ПРИМЕР()
Dim SHAP Как
Набор фигур SHAP = Активный слой.Создайте прямоугольник(1, 4, 3, 2)
ШАП.Контур.Заданные свойства (0,008), стили контуров(0), CreateCMYKColor(0, 0, 0, 100)
ШАП.заливка.Однородный цвет.CMYKAssign 0, 70, 90, 0
Макрос1 ‘Это автоматически запускает макрос Макрос1.
Set SHAP = Nothing
End Sub

Ниже приведен некоторый код, который создаст 3 прямоугольника в разных положениях разных цветов. Он показывает цикл, использование набора внутри цикла и использование переменной, в данном случае СЧЕТЧИКА, для изменения положения и цвета.

Цикл здесь на некоторое время петля. Пока СЧЕТЧИК переменных меньше или равен 3, код между While и Wend будет повторяться бесконечно. Обратите внимание, что СЧЕТЧИК строк = СЧЕТЧИК + 1 В математике этого не может быть, но в программировании это означает, что переменная слева принимает новое значение, которое находится справа. В этом случае СЧЕТЧИК увеличивается на 1 каждый раз, когда происходит цикл.

Когда СЧЕТЧИК больше 3, то появится код под Wend. В этом случае код заканчивается.

Sub TEST()
Dim shRECT Как
Счетчик Формы Dim Как Целое
число Dim No_SHAPES Как

СЧЕТЧИК Целых ЧИСЕЛ = 1
В То время Как СЧЕТЧИК
Установите shRECT = Этот документ.Активная страница.Активный игрок.СОЗДАЙТЕ прямоугольник(1, СЧЕТЧИК * 2, 5, СЧЕТЧИК * 2 — 1)
, затем заполните.Однородный цвет.RGBAssign 0, 255 — СЧЕТЧИК * 40, 0
Установить shRECT = Ничего
СЧЕТЧИК = СЧЕТЧИК +
1
Завершить завершение

В ситуациях, когда у вас есть выход или Завершение в операторе «Если», ваш код может покинуть процедуру, не встретив «Set =……… Ничего». В этих случаях ставьте дополнительный «Набор «……… Ничего» в операторе «Если».

Функции

Встроенная функция CreateRectangle в приведенном выше примере заключает аргументы в квадратные скобки.
Порядок аргументов, естественно, важен. В этом случае они являются левыми, Верхними, Правыми и Нижними.
например
, Установите SHAP = ActiveLayer.CreateRectangle(1, 4, 3, 2)
Вы не используете скобки, если функция не равна переменной.
например
, активный слой.CreateRectangle 1, 4, 3, 2

Ввод скобок во время кодирования полезен для получения подсказок intellisense, но они удаляют скобки, если функция не равна переменной.

Если вы хотите изменить порядок аргументов, вы можете специально указать аргументы в любом порядке, используя»:=»
, например
, ActiveLayer.CreateRectangle Справа:=3, Вверху:=4, Внизу:=2, слева:=1

Встроенные функции CorelDRAW VBA используют имперские измерения, то есть дюймы. Чтобы преобразовать мм в дюймы, разделенные на 25,4

, вы можете создать свои собственные функции. Они возвращают значение.

Вот простой пример функции, созданной пользователем. Поместите следующее в модуль и запустите тест.

Дополнительный ТЕСТ()
MsgBox «Площадь прямоугольника размером 30,5 мм х 80 мм в дюймах2 =» & dblInches(30,5) * dblInches(80), «Пример»
Конец под

Функция dblInches(длина DBLL Двойная) Как функция Double
dblInches = dblLength / 25,4
Конечная функция

При запуске макро-ТЕСТА будет создано окно сообщения.
Когда код обнаруживает dblInches(30,5), код перенаправляется на пользовательскую функцию dblInches(длина dbll Как Двойная). Как Дважды Два.
Для работы функции требуется число типа double,
в данном случае это 30,5
Функция делит заданное число на 25,4 и приравнивает ответ 1.18110236220472 к значению переменной функции dblInches.
Затем процедура возвращается к исходному ТЕСТОВОМУ макросу, но снова возвращается к функции dblInches для преобразования 80 мм в дюймы.
Результат умножения значений в дюймах отображается в окне сообщения.

Msgbox-это встроенная функция VBA.
Msgbox(Сообщение, [Стиль Кнопки], [Название], [Файл Справки, Контекст])
Квадратные скобки [ ] указывают на то, что это между необязательно требуется.
Если указан файл справки, файл chm, также необходимо указать контекст, например 0.
Не беспокойтесь о файле справки. Он редко используется и является очень продвинутым.

В разделе сообщений Msgbox, который находится перед первой запятой, текст указывается кавычками.
Существует также амперсанд (&) для добавления дополнительного текста или в данном случае значения dblInches(30,5) * dblInches(80).
VBA здесь очень терпим, так как он автоматически преобразует ваш умноженный ответ в строку (текст) без использования CStr для преобразования двойного в строку.
Стиль кнопки не указан, так как между ними 2 запятые, и поэтому он использует стиль по умолчанию.
Стиль по умолчанию-только 1 кнопка «ОК».
Далее идет заголовок, и он указан как Внимание.

Для каждой функции

Для каждого есть фрагмент кода, который позволяет просматривать каждый открытый документ, страницу, слой или фигуру в коллекции этих объектов.
Когда For В следующий раз просматривает каждый объект, он может получить информацию о каждом объекте, изменить объект, создать объект или подсчитать объекты в коллекции объектов.
Вы также можете разместить команды «Для следующих» в других командах «Для следующих». Таким образом, вы можете выполнить поиск по каждой странице, а затем внутри каждой страницы выполнить поиск по каждому слою, а затем выполнить поиск по каждой фигуре внутри каждого слоя, внутри каждой страницы.
Это вложение для следующих команд может усложниться.

Базовая компоновка показана ниже.

Dim obj [как Object_Type]
Для каждого объекта В объектах
«Вот где вы вводите некоторый код.
Далее [obj]

Нет необходимости создавать переменную «Объекты» для представления коллекции объектов, которые вы собираетесь просмотреть.
Вместо этого, если вы собираетесь просматривать каждую страницу, вы можете заменить объекты
этим документом.Страницы
В качестве альтернативы, если вы смотрите на фигуры на уровне 1 на странице 1, вы можете использовать.
Это документ.Страницы(1).Слои(1).Формы

Вы должны объявить переменную, которая будет представлять каждый объект, который вы исследуете.
В приведенном выше коде он показан как переменная obj.
Необязательно указывать, какой тип переменной представляет obj, поскольку команда For Next знает, что она будет компонентом указанной вами коллекции объектов.

Например, в следующей строке код знает, что «obj» — это фигура, поскольку это группа фигур, которые вы ищете.
Для Каждого объекта В Этом Документе.Страницы(1).Слои(1).Формы

Если вы хотите просмотреть каждую страницу документа, вы должны объявить переменную как страницу.
например.
Выберите pgSheet в качестве страницы
Для каждого pgSheet в этом документе.Страницы
— Какой-то код. Вы можете добавить страницу Нет, Раскрасить страницу или добавить или изменить текст и т. Д.
Следующий pgSheet

Аналогично для слоев на странице.
Тусклый объект
lyObject в качестве слоя Для каждого объекта lyObject в этом документе.Страницы(1).
Это какой-то код. Вы можете изучить каждый слой, чтобы увидеть, содержит ли он какие-либо объекты, удалить его
и т.д. Следующий объект lyObject

Аналогично для фигур на странице.
Затемните объект как Форму
Для каждого объекта в этом документе.Страницы(1).Слои(«Слой 1»).Формирует
какой-то код. Вы можете изучить каждую фигуру, чтобы определить, соответствует ли она типу, размеру или местоположению, и изменить ее или дать ей имя и т. Д.
Следующий объект

Не обязательно указывать, что будет дальше…… например, следующий pgSheet.
Достаточно просто «Далее», но вы можете встроить для каждого оператора так, чтобы вы могли просматривать каждый слой и каждую фигуру на каждой странице.
Может сбить с толку чтение, что Следующий означает следующий лист PG, а не следующую фигуру.
Рекомендуется указать далее, Какая страница, Слой, Форма

и т.д. Для каждого из них могут позволить вам пройти через каждый открытый документ CorelDRAW.
Однако код должен быть в модуле, а не в этом документе.
Затемняйте Документ В Качестве Документа
Для Каждого документа В Приложении.Документы
— Какой-то код. Вы можете изучить каждый документ и получить имя или полный путь к файлу, количество страниц и т. Д.
В следующем документе

Обратите внимание, что последний объект в каждой строке кода представляет несколько объектов того типа, через которые вы проходите.
например,
в следующей строке вы ищете объекты формы в наборе фигур.
Для каждого объекта SHOB в этом документе.Страницы(1).Слои(«Слой 1»).Формы

Следующее не работает, так как вы ищете фигуры в наборе страниц.
Для каждого объекта SHOB в этом документе.Страницы
Если вы хотите просмотреть каждую страницу, вместо этого используйте следующие.
Для каждого объекта pgObject в этом документе.Страницы

Ниже будет показано, как рассмотреть каждую фигуру в наборе фигур.
Для каждого объекта в этом документе.Активная страница.Активные слои.Формы

Вы также можете объявить переменную для представления набора фигур.
Затемняйте объекты в виде фигур
, Устанавливайте объекты = Этот документ.Активная страница.Активные слои.Формирует
объект Dim как форму
для каждого объекта в
некотором коде объектов shObjects.
Следующий объект
«Следующая строка позволяет избежать проблем с памятью.
Set shObjects = Ничего

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *