[CDR 2017-2021] Макрос удаляющий все направляющие

  • Автор темы Автор темы glugoff
  • Дата начала Дата начала

glugoff

Участник
Топикстартер
Сообщения
611
Реакции
93
Макросы использую редко, писать словами не умею, только record - play. Большой надобности разбираться нет, задачи примитивные. Столкнулся с необходимостью удаления всех направляющих в макете. И тех что на главной странице, и тех что на остальных. Методом тыка ничего толкового не получил. Может знает кто заветную строчку (если она конечно существует? Буду очень признателен.
 
Большой надобности разбираться нет
Ну тогда вас, как минимум, придется в рамках этой темы обучать с нуля как VBA код запускать. :( Или мотивация таки есть?
C другой стороны, не пойму, чем вас не устраивает штатная очистка?
upload_2018-4-20_11-16-29.png
 
Ну тогда вас, как минимум, придется в рамках этой темы обучать с нуля как VBA код запускать. :( Или мотивация таки есть?
C другой стороны, не пойму, чем вас не устраивает штатная очистка?
Посмотреть вложение 106475
Смотрите, у меня итоговая задача следующая. Назначаю размер страницы, выделяю все объекты, группирую, привожу их к размеру страницы и центрирую. Этот записанный макрос посажен на хоткей и работает хорошо. Однако, когда макет содержит направляющие, команда select all выделяет видимо и их, и макет схлопывается в точку. Посему и хотелось бы дописать в макрос строчку, удаляющую все направляющие как класс.
С синтаксисом разберусь, достаточно подсказать куда копать.
 
Так, может, правильнее тот макрос поправить чтоб он направляющие не выделял?
Покажите код
 
Так, может, правильнее тот макрос поправить чтоб он направляющие не выделял?
Покажите код
Вот:

Sub vizsize()
' Recorded 10.04.2018
With ActiveDocument.MasterPage
.SetSize 3.661417, 2.086614
.Orientation = 1
.PrintExportBackground = True
.Bleed = 0#
.Background = 0
End With
ActiveDocument.ReferencePoint = cdrCenter
ActivePage.Shapes.All.CreateSelection
ActiveSelection.SetSize 3.661417, 2.086614
Dim s1 As Shape
Set s1 = ActiveSelection.Group
s1.AlignAndDistribute 3, 3, 2, 0, False, 2
End Sub
 
После строки
Код:
ActivePage.Shapes.All.CreateSelection
добавьте
Код:
Selection.Shapes.FindShapes(, cdrGuidelineShape).RemoveFromSelection
и будет счастье
 
  • Спасибо
Реакции: dastin
После строки
Код:
ActivePage.Shapes.All.CreateSelection
добавьте
Код:
Selection.Shapes.FindShapes(, cdrGuidelineShape).RemoveFromSelection
и будет счастье
Ругается на эту строчку, говорит: Run-time error '424' Object required
2018-04-20_121551.jpg
 
Странно, но у меня на X6 не ругается даже если направляющих на странице нет вообще 'hz' Видимо в 2017 что то с моделью опять нахимичили
Ладно будем пошагово разбираться 'hmmm'
 
Для начала такой вариант
Код:
Sub vizsize()
' Recorded 10.04.2018
With ActiveDocument.MasterPage
.SetSize 3.661417, 2.086614
.Orientation = 1
.PrintExportBackground = True
.Bleed = 0#
.Background = 0
End With
ActiveDocument.ReferencePoint = cdrCenter
ActivePage.Shapes.All.CreateSelection
Dim gds As ShapeRange
Set gds = Selection.Shapes.FindShapes(, cdrGuidelineShape)
If gds.Count > 0 Then gds.RemoveFromSelection
ActiveSelection.SetSize 3.661417, 2.086614
Dim s1 As Shape
Set s1 = ActiveSelection.Group
s1.AlignAndDistribute 3, 3, 2, 0, False, 2
End Sub
 
Я, конечно, ничего не смыслю в кореловских макросах, но не русская ли локализация встает поперек горла в этом случае?
 
  • Спасибо
Реакции: glugoff