Всем привет, с вами автор блога scriptcoding.ru. В этой статье мы рассмотрим коллекцию TextColumns и объекты TextColumn, которые показывают, как сделать в ворде колонки.
Данные компоненты содержат немного свойств и методов, и в отличии от остальных, довольно просты в использовании…. Так, они позволяют добавить в документ нужное количество колонок Word, определить их ширину и отступы между ними, определить направление текста в колонках. У самого класса TextColumn есть только свойства, да и то, их всего несколько.
Доступ к коллекции TextColumnsосуществляется через одноименное свойство объекта PageSetup.
Коллекция TextColumns – колонки в ворде
Свойства – как сделать колонки в ворде
Application— Возвращает объект Application, представляющий приложение Microsoft Word.
Count— Возвращает количество колонок в ворде.
EvenlySpaced– Значение true, если колонки в Word в тексте равномерно распределены. Чтение и запись.
FlowDirection— Возвращает или задает направление, в котором текст перетекает из одной колонки в ворд в другую. Значение константы WdFlowDirection:
- wdFlowLtr — 0 – Слева направо.
- wdFlowRtl — 1 — Справа налево.
LineBetween– Значение true, если появляются вертикальные линии между всеми колонками в Word. Чтение и запись.
Spacing— Возвращает или задает расстояние в пунктах между колонками в ворде.
Width— Возвращает или задает ширину колонок в пунктах.
Методы – колонки в Word
Add(Width, Spacing, EvenlySpaced) – Метод позволяет добавить новую колонку Word в текст раздела или документа. Все параметры являются дополнительными.
Item(index) — Возвращает отдельный класс TextColumn по его номеру в коллекции.
SetCount(NumColumns) – Метод позволяют переопределить количество колонок в ворде (NumColumns) в тексте.
Класс TextColumn
Свойства
Application— Возвращает объект Application, представляющий приложение Microsoft Word.
SpaceAfter— Возвращает или устанавливает отступ текста в пунктах.
Width— Возвращает или задает ширину в пунктах.
Ну а теперь, как всегда, привожу два примера программного кода на языке VBScript и JScript.
Пример на языке VBSCRIPT:
' ---------------------------------------------------------------------------- ' Колонки в Word - добавление и редактирование ' 1TextColumns.vbs ' ---------------------------------------------------------------------------- Option Explicit dim oWord, oDoc, oSel, i, MyText Set oWord = CreateObject("Word.Application") Set oDoc = oWord.Documents oDoc.Add() oWord.Visible = True Set oSel = oWord.Selection MyText = "Колонки в ворде. " For i=0 to 30 oSel.TypeText MyText & MyText & MyText & MyText & MyText & MyText & MyText oSel.TypeParagraph Next '---------------------------------------------------------------------------- ' Добавляем в текст четыре Word колонки '---------------------------------------------------------------------------- For i=0 to 4 oDoc(1).Sections(1).PageSetup.TextColumns.Add Next '---------------------------------------------------------------------------- '---------------------------------------------------------------------------- ' Изменяем количество колонок в ворде ' Меняем направление текста ' Вставляем линию между ними '---------------------------------------------------------------------------- With oDoc(1).Sections(1).PageSetup.TextColumns .SetCount 2 .FlowDirection = 1 .LineBetween = true End With '---------------------------------------------------------------------------- '---------------------------------------------------------------------------- ' Изменяем ширину всех колонок в ворде и ' Индивидуально каждой ' Вставляем отступ для текста '---------------------------------------------------------------------------- как сделать в ворде колонки With oDoc(1).Sections(1).PageSetup .TextColumns.Width = 200 .TextColumns(1).Width = 100 .TextColumns(2).Width = 120 .TextColumns(1).SpaceAfter = 50 End With |
Пример на языке JSCRIPT:
// ---------------------------------------------------------------------------- // Колонки в Word - добавление и редактирование // 1TextColumns.vbs // ---------------------------------------------------------------------------- var oWord1, oDoc1, oSel1, i, MyText1; oWord1 = WScript.CreateObject("Word.Application"); oDoc1 = oWord1.Documents; oDoc1.Add(); oWord1.Visible = true; oSel1 = oWord1.Selection; MyText1 = "Колонки в ворде. "; for(i=0; i<=30; i++){ oSel1.TypeText(MyText1 + MyText1 + MyText1 + MyText1 + MyText1 + MyText1 + MyText1); oSel1.TypeParagraph(); } //---------------------------------------------------------------------------- // Добавляем в текст четыре Word колонки //---------------------------------------------------------------------------- for(i=0; i<=4; i++){ oDoc1(1).Sections(1).PageSetup.TextColumns.Add(); } //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // Изменяем количество колонок в ворде // Меняем направление текста // Вставляем линию между ними //---------------------------------------------------------------------------- with(oDoc1(1).Sections(1).PageSetup.TextColumns){ SetCount(2); FlowDirection = 1; LineBetween = true; } //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // Изменяем ширину всех колонок в ворде и // Индивидуально каждой // Вставляем отступ для текста //---------------------------------------------------------------------------- как сделать в ворде колонки with(oDoc1(1).Sections(1).PageSetup){ TextColumns.Width = 200; TextColumns(1).Width = 100; TextColumns(2).Width = 120; TextColumns(1).SpaceAfter = 50; } |
По сути, программный код сам по себе прост – происходит объявление переменных, которые будут хранить ссылки на нужные объекты и остальные параметры. Далее в цикле for («Урок 9 по JScript — оператор цикла for» и «Урок 6 по VBScript: Циклы for…next и for each…next«) мы добавляем в документ Word нужный текст, в итоге, получим несколько страниц в созданном документе. Далее происходит использование методов и свойств коллекции и классов – мы добавляем четыре Word колонки в документ, далее изменяем количество колонок в ворде и поочередно меняем направление текста, размеры и так далее.