Управление документами Word и Excel на VBA - eDrive

Управление документами Word и Excel на VBA - eDrive Управление документами Word и Excel на VBA - eDrive

edrive.narod.ru
from edrive.narod.ru More from this publisher
20.01.2015 Views

6 Windows (2).WindowState = wdWindowStateMaximize End Sub Sub Документ () Documents.Open ("Документ1.doc") Documents.Add имя = "Новый документ" Documents (2).SaveAs (имя) MsgBox "Документ называется " & Documents (2).Name Documents (1).Activate MsgBox "Открыто " & Documents.Count & " документа: " & _ ActiveDocument.Name & " и " & Documents (2).Name ActiveDocument.Save Documents.Close SaveChanges:=wdPromptToSaveChanges End Sub Sub КоличествоКомпонентов () MsgBox "В документе " & ActiveDocument.Paragraphs.Count & _ " абзацев" & Chr (13) & ActiveDocument.Sentences.Count & _ " предложений" & Chr (13) & ActiveDocument.Characters.Count _ & " символов" End Sub Sub СловаИПредложения () первое = Documents (1).Words.First последнее = Documents (1).Sentences.Last MsgBox "Начав со слова " & первое & _ ", кончаем предложением " & последнее End Sub Sub ПятыйСимвол () ActiveDocument.Characters.Item (5) = "Ф" Msgbox ActiveDocument.Characters.Item (5) End Sub Sub СтильИТипДокумента () Documents.Open ("Документ1.doc") Documents ("Документ1.doc").Characters (2) = "7" MsgBox ActiveDocument.Styles (wdStyleHeading1) MsgBox ActiveDocument.Type End Sub Процедурное программирование в Word Наиболее распространенные задачи, решаемые VBA в среде Word, посвящены работе с выделенными фрагментами текста. Объекты класса Selection в Word имеют богатую гамму методов и свойств: • свойства Next и Previous возвращают фрагменты текста, следующие за выделенным и предшествующие ему;

7 • свойство End указывает конец выделенного фрагмента; • свойство Font управляет шрифтом; • метод Copy копирует выделенный фрагмент в буфер обмена, Cut вырезает его в буфер обмена, Move перемещает в новое место, Paste реализует вставку содержимого буфера, а Delete удаляет; • методы HomeKey, EscapeKey, EndKey, MoveLeft, MoveRight и т.п. имитируют нажатие соответствующих клавиш; • методы Expand и Extend расширяют выделение. Некоторые компоненты (например, свойство Text в классе Selection) при обращении можно опускать как используемые по умолчанию. Обращение к группе членов одной коллекции удобно выполнять по схеме: With Коллекция .Член [ … ] End With Переменные VBA могут хранить объекты Word и манипулировать ими. Оператор Set создает объектную переменную, которую можно использовать в программе вместо объекта. Примеры Function ЧтоМенять () Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend ЧтоМенять = Left (Selection.Text, 1) End Function Sub Вернуться () Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend End Sub Sub ВыделенныеСимволы () ‘ Здесь использована приведенная выше функция ЧтоМенять символ = Selection.Characters (1).Text MsgBox "Вот первый символ: " & символ всего = ActiveDocument.Sentences (1).Characters.Count MsgBox "В первом предложении " & всего & " символов" & Chr (13) & _ "Надо заменить символ " & ЧтоМенять End Sub Sub Диапазоны () символ = Selection.Characters (1) MsgBox "Вот первый символ: " & символ Selection.Copy

7<br />

• свойство End указывает конец выделенного фрагмента;<br />

• свойство Font управляет шр<strong>и</strong>фтом;<br />

• метод Copy коп<strong>и</strong>рует выделенный фрагмент в буфер обме<strong>на</strong>, Cut<br />

вырезает его в буфер обме<strong>на</strong>, Move перемещает в новое место, Paste<br />

реал<strong>и</strong>зует вставку содерж<strong>и</strong>мого буфера, а Delete удаляет;<br />

• методы HomeKey, EscapeKey, EndKey, MoveLeft, MoveRight <strong>и</strong> т.п.<br />

<strong>и</strong>м<strong>и</strong>т<strong>и</strong>руют <strong>на</strong>жат<strong>и</strong>е соответствующ<strong>и</strong>х клав<strong>и</strong>ш;<br />

• методы Expand <strong>и</strong> Extend расш<strong>и</strong>ряют выделен<strong>и</strong>е.<br />

Некоторые компоненты (<strong>на</strong>пр<strong>и</strong>мер, свойство Text в классе Selection)<br />

пр<strong>и</strong> обращен<strong>и</strong><strong>и</strong> можно опускать как <strong>и</strong>спользуемые по умолчан<strong>и</strong>ю.<br />

Обращен<strong>и</strong>е к группе членов одной коллекц<strong>и</strong><strong>и</strong> удобно выполнять по схеме:<br />

With Коллекц<strong>и</strong>я<br />

.Член<br />

[ … ]<br />

End With<br />

Переменные <strong>VBA</strong> могут хран<strong>и</strong>ть объекты <strong>Word</strong> <strong>и</strong> ман<strong>и</strong>пул<strong>и</strong>ровать <strong>и</strong>м<strong>и</strong>.<br />

Оператор Set создает объектную переменную, которую можно <strong>и</strong>спользовать<br />

в программе вместо объекта.<br />

Пр<strong>и</strong>меры<br />

Function ЧтоМенять ()<br />

Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend<br />

ЧтоМенять = Left (Selection.Text, 1)<br />

End Function<br />

Sub Вернуться ()<br />

Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend<br />

End Sub<br />

Sub ВыделенныеС<strong>и</strong>мволы ()<br />

‘ Здесь <strong>и</strong>спользова<strong>на</strong> пр<strong>и</strong>веден<strong>на</strong>я выше функц<strong>и</strong>я ЧтоМенять<br />

с<strong>и</strong>мвол = Selection.Characters (1).Text<br />

MsgBox "Вот первый с<strong>и</strong>мвол: " & с<strong>и</strong>мвол<br />

всего = ActiveDocument.Sentences (1).Characters.Count<br />

MsgBox "В первом предложен<strong>и</strong><strong>и</strong> " & всего & " с<strong>и</strong>мволов" & Chr (13) & _<br />

"Надо замен<strong>и</strong>ть с<strong>и</strong>мвол " & ЧтоМенять<br />

End Sub<br />

Sub Д<strong>и</strong>апазоны ()<br />

с<strong>и</strong>мвол = Selection.Characters (1)<br />

MsgBox "Вот первый с<strong>и</strong>мвол: " & с<strong>и</strong>мвол<br />

Selection.Copy

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!