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

glugoff

Участник
Топикстартер
Сообщения
611
Реакции
93
Макросы использую редко, писать словами не умею, только record - play. Большой надобности разбираться нет, задачи примитивные. Столкнулся с необходимостью удаления всех направляющих в макете. И тех что на главной странице, и тех что на остальных. Методом тыка ничего толкового не получил. Может знает кто заветную строчку (если она конечно существует? Буду очень признателен.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Большой надобности разбираться нет
Ну тогда вас, как минимум, придется в рамках этой темы обучать с нуля как VBA код запускать. :( Или мотивация таки есть?
C другой стороны, не пойму, чем вас не устраивает штатная очистка?
upload_2018-4-20_11-16-29.png
 

glugoff

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Так, может, правильнее тот макрос поправить чтоб он направляющие не выделял?
Покажите код
 

glugoff

Участник
Топикстартер
Сообщения
611
Реакции
93
Так, может, правильнее тот макрос поправить чтоб он направляющие не выделял?
Покажите код
Вот:

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
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
После строки
Код:
ActivePage.Shapes.All.CreateSelection
добавьте
Код:
Selection.Shapes.FindShapes(, cdrGuidelineShape).RemoveFromSelection
и будет счастье
 
  • Спасибо
Реакции: dastin

glugoff

Участник
Топикстартер
Сообщения
611
Реакции
93
После строки
Код:
ActivePage.Shapes.All.CreateSelection
добавьте
Код:
Selection.Shapes.FindShapes(, cdrGuidelineShape).RemoveFromSelection
и будет счастье
Ругается на эту строчку, говорит: Run-time error '424' Object required
2018-04-20_121551.jpg
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Странно, но у меня на X6 не ругается даже если направляющих на странице нет вообще 'hz' Видимо в 2017 что то с моделью опять нахимичили
Ладно будем пошагово разбираться 'hmmm'
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Для начала такой вариант
Код:
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
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835

svlasov

Администратор
20 лет на форуме
Сообщения
2 225
Реакции
4 932
Я, конечно, ничего не смыслю в кореловских макросах, но не русская ли локализация встает поперек горла в этом случае?
 

glugoff

Участник
Топикстартер
Сообщения
611
Реакции
93

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835

glugoff

Участник
Топикстартер
Сообщения
611
Реакции
93

Jeine

Да здравствует разум! Да сгинет маразм!
15 лет на форуме
Сообщения
7 246
Реакции
6 280
  • Спасибо
Реакции: glugoff