Evet kodlarımızı yazmaya başlayalım ve de açıklamalarını da karşılarına ekleyelim (' ile başlayan yerler tanımlar için, kod olarak işlemezler);
Dim b As Shape 'Aranacak RGB modundaki bmp'ye bir tanım yapıyoruz.
For Each b In d.ActivePage.FindShapes ' aktif sayfadaki RGB bmpler için bir "arama döngüsü" oluşturacağız.
If b.Type = cdrBitmapShape Then 'Eğer bmp tipi cdr bitmap ise (1. koşulumuz)
If b.Bitmap.Mode = cdrRGBColorImage Then 'Eğer bmp renk modu cdr RGB ise (2. koşulumuz)
b.Bitmap.ConvertTo cdrCMYKColorImage 'bu resimi CMYK moda çevir.
End If '1. Koşul sonu
End If '2. Koşul sonu
Next b 'Sıradaki bmp'ye geçelim ;)
Şimdi kodların normal yazılmış haline bir göz atalım.
Dim d As Document
Dim b As Shape
For Each b In d.ActivePage.FindShapes
If b.Type = cdrBitmapShape Then
If b.Bitmap.Mode = cdrRGBColorImage Then
b.Bitmap.ConvertTo cdrCMYKColorImage
End If
End If
Next b
Eğer birden fazla döküman açıksa ve de bunlar içindeki RGB bmplerin CMYK'ya çevrilmesini istiyorsak, bu kodlarımıza da döküman için döngü eklemeliyiz. (geçen dersimizden hatırlıyoruz)
Görünüm şu şekilde olur.
Dim d As Document
Dim b As Shape
For Each d In Documents
For Each b In d.ActivePage.FindShapes
If b.Type = cdrBitmapShape Then
If b.Bitmap.Mode = cdrRGBColorImage Then
b.Bitmap.ConvertTo cdrCMYKColorImage
End If
End If
Next b
Next d
Evet sayfaya gelişigüzel birkaç RGB modlu bmp import edip kodumuzu çalıştıralım. (Sub ve End Sub blokları arasına yapıştırabilirsiniz.)
İyi çalışmalar, başarılar...