Макрос для создания направляющих вдоль границ документа ускоряет работу, когда требуется ограничить рабочее пространство документа привязкой к направляющим.
Для создания направляющих в макросах Corel PHOTO-PAINT доступна функция CreateGuide(). Первый параметр функции – элемент перечисления pntGuideType, который определяет положение направляющей:
pntGuideHorizontal – определяет горизонтальное положение направляющей;pntGuideVertical – определяет вертикальное положение направляющей.
Второй и третий параметры – координаты X и Y точки, через которую проходит направляющая.
Предлагаю рассмотреть два варианта кода макросов:
- Направляющие совпадают с границами документа;
- Направляющие отстают от границ документа на заданную величину.
Направляющие совпадают с границами документа
Для удачного выполнения макроса в Corel PHOTO-PAINT должен быть открыть документ. Иначе, макрос завершится с ошибкой.
Sub CreateGuidesAroundPage()
Dim doc As Document
Set doc = Application.ActiveDocument
doc.CreateGuide pntGuideHorizontal, 0, 0
doc.CreateGuide pntGuideVertical, doc.SizeWidth, 0
doc.CreateGuide pntGuideHorizontal, doc.SizeWidth, doc.SizeHeight
doc.CreateGuide pntGuideVertical, 0, doc.SizeHeight
End Sub
В этом и следующем примерах я использую координаты точек, совпадающие с углами документа, делая обход по часовой стрелке, начиная с левого верхнего угла. Использовать координаты углов не обязательно, можно задать координаты любой точки, лежащей на границе документа.
Направляющие отстают от границ документа на заданную величину
Я усложнил этот пример, добавлением проверки существования активного документа в Corel PHOTO-PAINT.
Величина отступа направляющих от границ документа задана в переменной offset. Не смотря на то, что величина отступа - положительное число, направляющие создаются внутри границ документа, а не за их пределами.
Sub CreateGuidesAroundPageWithOffset()
Dim doc As Document
Dim offset As Integer
If Application.Documents.Count > 0 Then
Set doc = Application.ActiveDocument
offset = 10
doc.CreateGuide pntGuideHorizontal, offset, offset
doc.CreateGuide pntGuideVertical, doc.SizeWidth - offset, offset
doc.CreateGuide pntGuideHorizontal, doc.SizeWidth - offset, doc.SizeHeight - offset
doc.CreateGuide pntGuideVertical, offset, doc.SizeHeight - offset
Else
Exit Sub
End If
End Sub
Для универсализации макроса путём задания значения переменной offset вручную, можно добавить в макрос вызов формы с соответсвующим полем.
Приведённые примеры макросов можно использовать напрямую, или как отправную точку для создания собственных, например, для автоматизированного создания сеток из направляющих.