[CDR 2017-2022] Вызвать refresh палитры

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

mnemonix

ॐ मणि पद्मे हूँ
Топикстартер
Сообщения
776
Реакции
225
Может подскажете, как реализовать кнопкой или макросом refresh, в стандартной customization не нашёл:


refresh.jpg
 
а просто application.refresh не помогает?
 
Кода не нашел, application.refresh не помогает, хочется удалить лишние цвета из палитры документа, а если нужно- вставить.
Со вставкой проблем нет: ActiveDocument.AddColorsToDocPalette
С удалением: надо перебрать все цвета в документе, сравнить с палитрой и, если в палитре есть неиспользуемые, то удалить.
 
без GUID
***********
1 and/or 2
*************
запускать первый Sub

Код:
Sub Reset_DocPalette()

ResetPalette ActiveDocument
End Sub

Sub ResetPalette(ByRef iDoc As Document)

Dim CurColNo As Integer, CurPg As Page, CurSh As Shape, CurSR As ShapeRange, DoIt As Boolean

For CurColNo = iDoc.Palette.Colors.Count To 1 Step -1
   DoIt = True
   For Each CurPg In iDoc.Pages
      Set CurSR = CurPg.Shapes.All
      If CurSR.Shapes.Count > 0 Then
         For Each CurSh In CurSR.Shapes
            If CurSh.Fill.Type = cdrUniformFill Then
               If CurSh.Fill.UniformColor.IsSame(iDoc.Palette.Colors(CurColNo)) Then DoIt = False
            End If
         Next CurSh
      End If
   Next CurPg
   If DoIt Then iDoc.Palette.RemoveColor CurColNo
Next CurColNo

End Sub

add
****
группы, поверклипы, пантоны в поиск не попадают
 
Последнее редактирование:
Последнее редактирование: