Объект Word CalloutFormat — Форматирование выноски

Объект Word CalloutFormat — Форматирование выноски Объектная модель Microsoft Word

Объект CalloutFormat позволяет редактировать выноски в Word документе. Так, мы можем изменить тип уже существующей выноски, отформатировать линию, которая находится рядом с выноской Word, и многое другое…

В первую очередь, нам нужно добавить новую выноску в Word, для этого используется метод AddCallout объекта Shapes. Далее у нас есть два варианта, или же мы создаем новую переменную, которая будет хранить ссылку на объект CalloutFormat, или же мы просто обрабатываем новую выноску на прямую. Сам доступ к объекту CalloutFormat формируется через свойство Callout объекта Shape, который будет представлять нужную выноску Word.

CalloutFormat — Выноски в Word

Свойства

Accent– Свойство содержит логические значения, которые определяют, крепить (true) к выноске линию или нет (false).

Angle— Возвращает или задает угол линии выноски. Значение константы MsoCalloutAngleType:

  • msoCalloutAngleAutomatic — 1 — По умолчанию. Угол может быть изменен при перетаскивании фигуры.
  • msoCalloutAngle30 — 2 — 30 градусов.
  • msoCalloutAngle45 — 3 — 45 градусов.
  • msoCalloutAngle60 — 4 — 60 градусов.
  • msoCalloutAngle90 — 5 — 90 градусов.
  • msoCalloutAngleMixed — -2 – Только для чтения, комбинация из двух значений.

Application— Возвращает объект Application, представляющий приложение Microsoft Word.

AutoLength— Свойство содержит логические значения, которые определяют, автоматически (false) задавать длину линии выноски в Word или нет (false). Только чтение.

Border– Включить (true) или отключить (false) границы для текста. Чтение и запись.

Drop— Возвращает вертикальное расстояние в пунктах от края выноски к текстовому полю. Только чтение.

Gap— Возвращает или задает горизонтальное расстояние в пунктах между концом линии выноски и рамки, ограничивающей текст.

DropType— Возвращает значение, указывающее, где расположены линии выноски. Только чтение, значение константы MsoCalloutDropType:

  • msoCalloutDropCustom — 1 – Обычное расположение.
  • msoCalloutDropTop — 2 — Вверху.
  • msoCalloutDropCenter — 3 — Центр.
  • msoCalloutDropBottom — 4 — Внизу.
  • msoCalloutDropMixed — -2 – Комбинация из двух значений.

Length— Возвращает длину в пунктах из первого сегмента линии выноски в word (сегмент прилагается к блоку текста выноски). Только чтение.

Type— Возвращает или задает тип выноски. Значение константы MsoCalloutType:

  • msoCalloutOne — 1 – Горизонтальная линия слева.
  • msoCalloutTwo — 2 – Горизонтальна линия с наклоном слева.
  • msoCalloutThree — 3 – Линия состоит из двух отрезков слева (один отрезок с наклоном, а другой горизонтальный).
  • msoCalloutFour — 4 — Линия состоит из трех отрезков справа (один отрезок с наклоном, другой горизонтальный и третий вертикальный).

Методы

CustomDrop(Drop) — Устанавливает вертикальное расстояние (в пунктах) от края текста ограниченного рамкой до места, где линии выноски прикрепляются к текстовому полю.

CustomLength(Length) — Задает длину первого сегмента линии выноски Word в пунктах.

PresetDrop(DropType) – Метод позволяет задать расположение линии выноски. Параметр содержит значения константы MsoCalloutDropType (смотрите выше).

Что бы добавить выноски в Word 2007 вручную, нужно перейти на вкладку Вставка, панель Иллюстрации, и выбрать пункт Фигуры. В открывшемся списке можно выбрать подходящую выноску.

' ********************************************************************' Объект Word CalloutFormat' Выноски в Word' CalloutFormat.vbs' ******************************************************************** OptionExplicit dim oWord, oDoc, shpCanvas, i Set oWord = CreateObject("Word.Application")            ' ссылка на объект Word ApplicationSet oDoc = oWord.Documents                                    ' ссылка на коллекцию DocumentsoDoc.Add()oWord.Visible = trueSet shpCanvas = oDoc(1).Shapes                                ' ссылка на коллекцию Shapes '*****************************************************' добавляем в документ четыри выноски'*****************************************************shpCanvas.AddCallout 1, 80, 50, 100, 100shpCanvas.AddCallout 2, 250, 50, 100, 100shpCanvas.AddCallout 3, 80, 200, 100, 100shpCanvas.AddCallout 4, 250, 200, 100, 100 shpCanvas(1).TextFrame.TextRange.Text = "Выноска 1"shpCanvas(2).TextFrame.TextRange.Text = "Выноска 2"shpCanvas(3).TextFrame.TextRange.Text = "Выноска 3"shpCanvas(4).TextFrame.TextRange.Text = "Выноска 4" & vbCrLf & shpCanvas(4).Callout.Drop & " пунктов" ' для четвертой выноски в Word определяем горизонтальное расстояниеshpCanvas(4).Callout.Gap = 30             ' делаем видимой рамку для всех выносокfor i = 1 to 4    shpCanvas(i).Callout.Border = truenext '*****************************************************' форматируем 1, 2 и 3 выноски'*****************************************************shpCanvas(1).Callout.PresetDrop 2shpCanvas(2).Callout.CustomDrop 30shpCanvas(3).Callout.CustomLength 60
// ********************************************************************// Объект Word CalloutFormat// Выноски в Word// CalloutFormat.js// ******************************************************************** var oWord, oDoc, shpCanvas, i; oWord = WScript.CreateObject("Word.Application");        // ссылка на объект Word ApplicationoDoc = oWord.Documents;                                            // ссылка на коллекцию DocumentsoDoc.Add();oWord.Visible=true;shpCanvas = oDoc(1).Shapes;                                        // ссылка на коллекцию Shapes //*****************************************************// добавляем в документ четыри выноски//*****************************************************shpCanvas.AddCallout(1,80,50,100,100);shpCanvas.AddCallout(2,250,50,100,100);shpCanvas.AddCallout(3,80,200,100,100);shpCanvas.AddCallout(4,250,200,100,100); shpCanvas(1).TextFrame.TextRange.Text="Выноска 1";shpCanvas(2).TextFrame.TextRange.Text="Выноска 2";shpCanvas(3).TextFrame.TextRange.Text="Выноска 3";shpCanvas(4).TextFrame.TextRange.Text="Выноска 4"+"n"+ shpCanvas(4).Callout.Drop+" пунктов"; // для четвертой выноски в Word определяем горизонтальное расстояниеshpCanvas(4).Callout.Gap=30;         // делаем видимой рамку для всех выносокfor(i =1; i<=4; i++){    shpCanvas(i).Callout.Border=true;} //*****************************************************// форматируем 1, 2 и 3 выноски//*****************************************************shpCanvas(1).Callout.PresetDrop(2);shpCanvas(2).Callout.CustomDrop(30);shpCanvas(3).Callout.CustomLength(60);

В данных примерах на языках vbscript и jscript происходит создание нового документа Word. Вначале мы объявляем нужные переменные, которые будут хранить как значения, так и ссылки на объекты или коллекции. Далее с помощью метода AddCallout объекта Shapes мы добавляем в документ 4 выноски Word, они будут размещаться по две в ряд, после, происходит их форматирование – делаем видимой рамку, изменяем положение и отступы, ну… ничего сложного.

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