[CDR X5-X8] редактирование символов

dimastyj

Участник
Топикстартер
Сообщения
27
Реакции
0
Добрый вечер, в документе есть символы некоторые отдельно некоторые в группе, как можно найти их и изменить? Найти по имени получилось а вот изменить что то пока не получается?
 

DukereD

макрософил
Сообщения
462
Реакции
114
Добрый вечер, в документе есть символы некоторые отдельно некоторые в группе, как можно найти их и изменить? Найти по имени получилось а вот изменить что то пока не получается?
shape.text.story.text
 
  • Спасибо
Реакции: dimastyj

DukereD

макрософил
Сообщения
462
Реакции
114
не понятно что это такое?
это через макросы если делать. если вам нужны простые текстовые значения то прост воспользщуйтесь стандартной формой поиска по тексту "правка - поиск и замена"
 

Zauglomskr

Участник
Сообщения
43
Реакции
20
Правая кнопка мыши - вернуть символ в объекты. Далее редактируй как хочешь.
 

dimastyj

Участник
Топикстартер
Сообщения
27
Реакции
0
н
Правая кнопка мыши - вернуть символ в объекты. Далее редактируй как хочешь.
нет,мне нужно изменить именно как экземпляр символа что бы изменились и остальные его экземпляры только сделать это надо макросом
 

DukereD

макрософил
Сообщения
462
Реакции
114
н

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

1682362316960.png


берете пробегаете по всем клонам и меняете.
for each s in activeshape.clones
 

dimastyj

Участник
Топикстартер
Сообщения
27
Реакции
0
на уровне макросов нужно читать мануалы. там обычно все написано. ну а вообще там нет аткой связи, что один меняете и остальное меняется.

Посмотреть вложение 158251

берете пробегаете по всем клонам и меняете.
for each s in activeshape.clones
Почему нет есть же
 

dimastyj

Участник
Топикстартер
Сообщения
27
Реакции
0
Не клоны а экземпляры символа
 

DukereD

макрософил
Сообщения
462
Реакции
114
Последнее редактирование:

dimastyj

Участник
Топикстартер
Сообщения
27
Реакции
0
Я нахожу по имени символ а изменить его не могу, пробовал через запись макроса но там к номеру шейпа он применяется а как мне выйти на нужный номер шейпа я не могу понять
 

DukereD

макрософил
Сообщения
462
Реакции
114
Я нахожу по имени символ а изменить его не могу, пробовал через запись макроса но там к номеру шейпа он применяется а как мне выйти на нужный номер шейпа я не могу понять
менять в инстансах наверно нужно или в нестедсимвол. а проверять он или не он можно внутри цикла через "is" if shape1 is shape2 then
 

dimastyj

Участник
Топикстартер
Сообщения
27
Реакции
0
Ладно буду пробовать, спасибо
 

dimastyj

Участник
Топикстартер
Сообщения
27
Реакции
0
Что то не выходит, может есть у кого идеи?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
Но хоть входит?
 

lev

Модератор
20 лет на форуме
Сообщения
2 145
Реакции
2 071
Вот примерчик:
Код:
Sub first_symbol_shape_to_cyan()
  Dim sd As SymbolDefinition
  For Each sd In ActiveDocument.SymbolLibrary.Symbols
      'Debug.Print sd.Name тут можем проверить имя символа, чтобы редактировать нужный
      If sd.Editable Then
        sd.EnterEditMode
        ActiveLayer.Shapes(1).Fill.ApplyUniformFill CreateCMYKColor(100, 0, 0, 0) ' красим первый шейп символа в cyan, просто, для примера, без проверки типа шейпа, поэтому могут быть сбои.
        sd.LeaveEditMode
      End If
  Next sd
End Sub
 

dimastyj

Участник
Топикстартер
Сообщения
27
Реакции
0
Вот примерчик:
Код:
Sub first_symbol_shape_to_cyan()
  Dim sd As SymbolDefinition
  For Each sd In ActiveDocument.SymbolLibrary.Symbols
      'Debug.Print sd.Name тут можем проверить имя символа, чтобы редактировать нужный
      If sd.Editable Then
        sd.EnterEditMode
        ActiveLayer.Shapes(1).Fill.ApplyUniformFill CreateCMYKColor(100, 0, 0, 0) ' красим первый шейп символа в cyan, просто, для примера, без проверки типа шейпа, поэтому могут быть сбои.
        sd.LeaveEditMode
      End If
  Next sd
End Sub
Вроде получилось , большое спасибо