Re: CorelDRAW VBA : Создание текста

Написал wOxxOm в 20/02/2008 10:44:14

1. Лучше обходиться без CorelScript

ActiveDocument.unit = cdrMillimeter
With ActiveLayer.CreateArtisticText(10, 20, "CMYK", cdrRussian, cdrCharSetRussian, _
         "Arial", 12, Bold:=cdrTrue, Italic:=cdrFalse, Underline:=cdrNoFontLine, _
         Alignment:=cdrCenterAlignment)
   .text.Story.CharSpacing = 100
   .Fill.ApplyUniformFill CreateCMYKColor(0, 0, 0, 100)
End With


2. Обрабатывать в выделенном в цикле можно для надежности выбирая только текстовые объекты с помощью .FindShapes, что кстати позволяет обрабатывать внутри групп без разгруппировки

Dim myText As Shape, myColor as color
set myColor=CreateFixedColor(cdrPANTONECoated, _
          Palettes.OpenFixed(cdrPANTONECoated).FindColor("PANTONE 711 C"), 50)
For Each myText In ActiveSelection.Shapes.FindShapes(, cdrTextShape)
   myText.Fill.ApplyUniformFill myColor
Next myText


3. Перекрасить в разные цвета (каждую букву в свой цвет) например так:

dim i&,arrColors$()
arrColors=split("100,0,0,0+0,100,0,0+0,0,100,0+0,0,0,100","+")
for i=0 to ubound(arrColors)
   ActiveShape.Text.Story.Characters(i+1).Fill.ApplyUniformFill _
        CreateColor("CMYK,USER," & arrColors(i) & ",0")
next

Источник: https://powerclip.ru/modules/newbb/viewtopic.php?post_id=81351

Rambler's Top100