- Сообщения
- 579
- Реакции
- 175
Есть макрос, который переводит все изображения в CMYK 300 dpi, ищет и в группах и в powerclip.
Добавил в него обход всех страниц, но он по-прежнему работает только с текущей. Что я сделал не так?
Добавил в него обход всех страниц, но он по-прежнему работает только с текущей. Что я сделал не так?
Код:
Option Explicit
Sub Convert_All_Bitmaps_to_CMYK()
Dim i As Integer
Dim allPages As Pages
Dim tempPage As Page
Dim s As Shape, sp As Shape
Dim pwc As PowerClip
Dim ChangeCountPowerClip As Integer
Dim ChangeCount As Integer
ChangeCountPowerClip = 0
ChangeCount = 0
Set allPages = ActiveDocument.Pages
For i = 1 To allPages.Count
Set tempPage = allPages.Item(i)
For Each s In ActiveDocument.ActivePage.FindShapes
Set pwc = Nothing
Set pwc = s.PowerClip
If Not pwc Is Nothing Then
For Each sp In pwc.Shapes.FindShapes
ChangeCountPowerClip = ChangeCountPowerClip + processBitmap(sp)
Next sp
End If
ChangeCount = processBitmap(s) + ChangeCount
Next s
Next i
End Sub
'-------------------------------------------------------------
Private Function processBitmap(s As Shape) As Integer
processBitmap = 0
If s.Type = cdrBitmapShape Then
s.Bitmap.Resample , , True, 300, 300
If s.Bitmap.Mode <> cdrCMYKColorImage Then s.Bitmap.ConvertTo cdrCMYKColorImage
processBitmap = 1
End If
End Function