Объект Word TextEffectFormat — оформление текста в ворде, WordArt

Объект Word TextEffectFormat — оформление текста в ворде, WordArt Объектная модель Microsoft Word

Здравствуйте все читатели и подписчики блога scriptcoding.ru. Сегодня мы рассмотрим такую тему, как оформление текста в ворде с помощью класса TextEffectFormat, который, по сути, представляет фигуры WordArt.

Класс TextEffectFormat содержит свойства и методы, которые применяются к элементам WordArtв Word. По сути, тут нет ничего особенного, мы просто может изменить параметры нужного WordArt на собственный вкус – форма фигуры, размер, стиль, положение и так далее. Для доступа к данному классу сначала нужно добавить фигуру WordArt с помощью метода AddTextEffectколлекции Shapes, после чего через свойство TextEffectкласса Shape мы сможем получить доступ к нужной фигуре WordArt для оформления текста в Word, и тем самым получим доступ к TextEffectFormat, также мы сможем изменить направление текста в ворде.

TextEffectFormat – оформление текста в ворде

Свойства и один метод – оформление текста в Word

оформление в word текста

Alignment— Возвращает или устанавливает выравнивание текста. Значения константы MsoTextEffectAlignment:

  • msoTextEffectAlignmentLeft — 1 – По левому краю.
  • msoTextEffectAlignmentCentered — 2 — По центру.
  • msoTextEffectAlignmentRight — 3 – По правому краю.
  • msoTextEffectAlignmentLetterJustify — 4 – Выровнять за счет интервалов.
  • msoTextEffectAlignmentWordJustify — 5 – Выровнять по обоим краям.
  • msoTextEffectAlignmentStretchJustify — 6 – Выровнять за счет ширины.
  • msoTextEffectAlignmentMixed — -2 — Не используется.

FontBold— Устанавливает шрифт полужирным (true) или нет (false).

FontItalic— Устанавливает шрифт курсивом (true) или нет (false).

FontName— Возвращает или задает имя шрифта фигуры WordArt в Word.

FontSize— Возвращает или задает размер шрифта в пунктах.

KernedPairs– Включить (true) или отключить (false) кернинг пар знаков.

NormalizedHeight– Свойство позволяет указать, что бы все символы были одинаковой высоты – значение True. Оформление текста в ворде.

PresetShape— Возвращает или устанавливает фигуру указанного WordArt в Word. Значение константы MsoPresetTextEffectShape.

PresetTextEffect— Возвращает или задает стиль указанного WordArt. Значения константы MsoPresetTextEffect. Изменить направление для текста в ворд.

RotatedChars— True — символы поворачиваются на 90 градусов. False — символы сохраняют свою первоначальную ориентацию.

Text— Возвращает или устанавливает текст в указанном объекте.

Tracking— Возвращает или устанавливает интервал между буквами. Это свойство может принимать значение от 0 до 5. Ниже приведены значения, которые соответствуют настройкам, доступным в пользовательском интерфейсе:

  • Очень узкий — 0,8
  • Узкий — 0,9
  • Нормальный — 1.0
  • Широкий — 1.2
  • Очень широкий — 1,5

ToggleVerticalText() – Позволяет изменить направление текста в ворде с горизонтального положения в вертикальное и наоборот, действует как переключатель.

И так, с теорией мы закончили, теперь приступим к программированию. Напишем два сценариях – один на языке vbscript, а другой на языке jscript. Помним, что сценарии работают под управлением сервера Windows Script Host.

Пример программного кода на языке VBSCRIPT:

изменить в ворде направление текста
' ********************************************************************
' Класс TextEffectFormat
' Оформление текста в Word
' TextEffectFormat.vbs
' ********************************************************************
 
Option Explicit
 
dim oWord, oDoc, shpCanvas, xCount, i, j
 
Set oWord = CreateObject("Word.Application")            ' ссылка на Application
Set oDoc = oWord.Documents                                    ' ссылка на Documents
oDoc.Add()
oWord.Visible = true
Set shpCanvas = oDoc(1).Shapes                                ' ссылка на Shapes
 
'--------------------------------------------------------------------------------
dim iCount, jCount
iCount = 10
jCount = 10
xCount = 1
for i = 1 to 7
    for j = 1 to 4
        shpCanvas.AddTextEffect xCount, "Офрмление текста в ворде", "Times New Roman", 15, false, false, iCount, jCount                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ' направление текста word
        iCount = iCount + 130
        xCount = xCount + 1
    next
    iCount = 10
    jCount = jCount + 60
next
 
With shpCanvas(i).TextEffect
     for i = 1 to 6
                 .Alignment = i
     next
     for i = 7 to 10
                 .NormalizedHeight = true
     next
     for i = 11 to 14
                 .PresetTextEffect = 28
     next
     for i = 17 to 20
                 .ToggleVerticalText                                                              ' изменить направление текста в ворде
     next
End With
 
'--------------------------------------------------------------------------------
dim iCount1, jCount1
iCount1 = 10
jCount1 = 450
for i = 1 to 5
    for j = 1 to 4
        shpCanvas.AddTextEffect 28, "оформление в ворде текста", "Times New Roman", 15, false, false, iCount1, jCount1
        iCount1 = iCount1 + 130
    next
    iCount1 = 10
    jCount1 = jCount1 + 60
next
 
iCount1 = 1
for i = 28 to 48
    shpCanvas(i).TextEffect.PresetShape = iCount1
    iCount1 = iCount1 + 1
next
 
shpCanvas(48).TextEffect.Tracking = 5

Пример программного кода на языке JSCRIPT:

направление в ворде текста
// ********************************************************************
// Класс Word TextEffectFormat
// Оформление текста в Word
// TextEffectFormat.js
// ********************************************************************
 
var oWord1, oDoc1, shpCanvas1, xCount1, i, j;
 
oWord1 = WScript.CreateObject("Word.Application");        // ссылка на Application
oDoc1 = oWord1.Documents;                                            // ссылка на Documents
oDoc1.Add();
oWord1.Visible = true;
shpCanvas1 = oDoc1(1).Shapes;                                        // ссылка на Shapes
 
//--------------------------------------------------------------------------------
var iCount2, jCount2;
iCount2 = 10;
jCount2 = 10;
xCount1 = 1;
for(i = 1; i<=7; i++){
    for(j = 1; j<=4; j++){
        shpCanvas1.AddTextEffect(xCount1, "Офрмление текста в ворде", "Times New Roman", 15, false, false, iCount2, jCount2);                                                                                                                                                                                                                                                                                                                                                                                                 // направление текста word
        iCount2 += 130;
        xCount1++;
    }
    iCount2 = 10;
    jCount2 += 60;
}
 
with(shpCanvas1(i).TextEffect){
     for(i = 1; i<=6; i++){
                 Alignment = i;
     }
     for(i = 7; i<=10; i++){
                 NormalizedHeight = true;
     }
     for(i = 11; i<=14; i++){
                 PresetTextEffect = 28;
     }
     for(i = 17; i<=20; i++){
                 ToggleVerticalText();                                                // изменить направление текста в ворде
     }
}
 
//--------------------------------------------------------------------------------
var iCount3, jCount3;
iCount3 = 10;
jCount3 = 450;
for(i = 1; i<=5; i++){
    for(j = 1; j<=4; j++){
        shpCanvas1.AddTextEffect(28, " оформление в ворде текста ", "Times New Roman", 15, false, false, iCount3, jCount3);
        iCount3 += 130
    }
    iCount3 = 10;
    jCount3 += 60;
}
 
iCount3 = 1;
for(i = 28; i<=48; i++){
    shpCanvas1(i).TextEffect.PresetShape = iCount3;
    iCount3 ++;
}
 
shpCanvas1(48).TextEffect.Tracking = 5;

В данных сценариях, написанных на языке vbscript и jscript происходить добавление в документ Word различных фигур WordArt, точнее, фигура одна, только изменяется ее формат. По ходу кода видно, что происходит выборочное применение свойств и методов класса TextEffectFormat. Так, мы меняем фигуру WordArt, изменяем плотность букв, направление текста в Word и так далее.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий