Polytech-soft.com

ПК журнал
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Visual basic word

Начинаем программировать

2.1. Редактор Visual Basic

2.1.1. Задание

Записать в Microsoft Word макрос, который автоматически вводит в позицию курсора слово «Привет». Отредактировать макрос вручную таким образом, чтобы он выводил «До свидания».

2.1.2. Решение

Начнем запись макроса (Назовем его «Privet»), введем с клавиатуры слово «Привет», после чего остановим запись.

Откроем окно Макросы нажатием соответствующей кнопки на панели Вид, выберем наш макрос и нажмем на кнопку Изменить. Перед нами откроется окно редактора Visual Basic с открытым в нем макросом (рис. 2.1.)

Окно редактора включает в себя несколько рабочих областей — окон, служащих для выполнения различных действий. На рис. 2.1. в окне редактора присутствуют три рабочих области:

Code (Код) — это окно, в котором пишут тексты VBA-программ и редактируют макросы. Эта область расположена справа и занимает большую часть окна редактора.

Project Explorer (Проводник Проекта) — это окно обычно открыто в левой верхней части окна редактора. Оно отображает информацию о компонентах проекта, позволяет быстро перемещаться между компонентами.

Properties (Свойства) — отображает свойства выделенного объекта. Обычно располагается в левой нижней части рабочего окна.

Ниже перечислены другие рабочие области, которых мы коснемся в дальнейшем изложении.

UserForm (Форма) — служит для редактирования пользовательской формы в визуальном режиме.

Toolbox (Панель элементов управления) — содержит набор элементов управления (например — это кнопки, поля ввода и т.д.), которые можно добавлять на формы или в документы.

Object Browser (Обозреватель объектов) — служит для просмотра информации об объектах, доступных в данном приложении.

Watch, Locals, Immediate — окна, средства которых используются при отладке приложений.

Давайте изучим содержимое окна Code. Посмотрите на первую и последнюю строчку текста. Первая строчка выглядит так:

Это — начало процедуры макроса. Процедура — это самостоятельный участок кода. Если хотите, можете считать процедуру отдельной программой. Думаю, вам знакомо название процедуры макроса — ведь мы сами дали ему это имя при записи.

Последняя строчка нашего макроса выглядит так:

Получается, что все наши действия в ходе записи макроса описаны командами, находящимися между Sub и End Sub . А что же там находится?

Сразу после первой строки макроса можно увидеть несколько строчек, начинающихся со значка ‘ (апостроф). Он указывает на то, что текст данной строки — это комментарий. Комментарии в текстах VBA-программ автоматически выделяются зеленым цветом. В нашем случае комментарии содержат информацию об имени макроса и тот текст, который мы вводили в качестве комментария к макросу.

Дальше начинается самое интересное — код, который автоматизирует ввод текста. В нашем случае полезная часть макроса состоит всего из одной строчки. Вот она:

Давайте попытаемся «перевести» текст этой программной строки на русский язык, учитывая, что Selection переводится как «выделение», Type — «печатать», Text — текст. Получается, что этой строкой мы даем компьютеру такую команду: «Напечатать в выделенной позиции текст «Привет»».

Как вы думаете, что нужно сделать с этой строчкой, чтобы программа вместо «Привет» вывела бы «До свидания»? Наверняка вы уже догадались, что для этого нужно лишь заменить текст, который расположен в кавычках.

В результате у нас получилась такая строка:

Отредактируйте текст программы, закройте окно редактора (или, не закрывая его, перейдите в окно документа), и, установив курсор в желаемое место вставки текста, выполните макрос.

Примите мои поздравления. Первое знакомство с редактором Visual Basic и с языком VBA состоялось. Ваш первый вручную отредактированный макрос работает. Но сейчас у вас гораздо больше вопросов, чем ответов.

2.2. Использование вкладки Разработчик

В приложениях Microsoft Office предусмотрена специальная вкладка — Разработчик. Она служит для работы с VBA -программами, элементами управления, которые можно добавлять в документ и т.д. По умолчанию эта вкладка скрыта. Чтобы отобразить ее, например, в Microsoft Word , нажмите кнопку Microsoft Office (в левом верхнем углу окна программы), в появившемся окне нажмите на кнопку Параметры Word, после чего в окне Параметры Word установите галочку в поле Показывать вкладку Разработчик на ленте. Вот как выглядит эта вкладка (рис. 2.2.).

Читать еще:  Скачать ключ для word 2020

Обратите внимание на кнопку Visual Basic — она расположена в области Код. Нажав на эту кнопку, вы запустите редактор VBA . В области Элементы управления расположены миниатюры элементов управления, которые можно располагать в документах.

Если вы включите отображение вкладки Разработчик — в строке состояния редактора появится кнопка, с помощью которой можно быстро начать или остановить запись макроса.

В дальнейшем мы постоянно будем пользоваться элементом управления Кнопка для демонстрации различных возможностей VBA .

Программирование на VBA в Word

Форматирование документа

Наиболее важной особенностью работы на VBA в Word является вставка текста в документ при работе с приложениями. Для этого служат объекты Range и Selection, которые являются главными для практически любых операций, которые можно выполнять с помощью Word VBA. Некоторые из этих действий можно применять к документам в целом, но в общем случае вам необходим диапазон или выделенная область, прежде чем вносить изменения. Мы, однако, рассмотрим действия с документом при его создании.

Открытый документ Word уже содержит объекты Range, соответствующие многим его элементам. Каждый абзац, таблица, ячейка таблицы, комментарий и т. д. определяют диапазоны. Например, для того чтобы вставить некоторый текст в уже существующий документ, необходимо прописать код:

Причем данная строка будет расположена в конце существующего параграфа. С другой стороны, используя объект Selection, можно также вставить некоторый текст в документ, используя метод Add и присвоение свойства Text объекту Selection:

If Documents.Count = 0 Then Documents.Add
Selection.Text = «Изучение работы с текстом в документе Word является важной составной частью умения программировать в VBA, « + TextBox1.Text +», и отвечает запросам всех программистов!»

В результате выполнения данного программного кода в документе Word будет выведена строка: “Изучение работы с текстом в документе Word является важной составной частью умения программировать в VBA, Светлана, и отвечает запросам всех программистов!”.

Описание процедур

Private Sub CommandButton1_Click()
If Documents.Count = 0 Then Documents.Add
Selection.Text = «При прохождении тока напряжением в » + TextBox1.Text + «вольт попроводнику длиной » + TextBox4.Text + » метров, сечением » + TextBox3.Text + «кв. мм и удельным сопротивлением » + TextBox5.Text + » Ом*мм^2/м за » + TextBox2.Text + » секунд выделится » + TextBox6.Text + « джоулей теплоты»
Selection.Collapse direction:=wdCollapseEnd
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub scet()
If IsNumeric(TextBox1.Text) = True And
IsNumeric(TextBox2.Text) = True And
IsNumeric(TextBox3.Text) = True And
IsNumeric(TextBox4.Text) = True And
IsNumeric(TextBox5.Text) = True And Not Val(TextBox4.Text) = 0 And Not Val(TextBox5.Text) = 0 Then rez = ((Val(TextBox1.Text) ^ 2) * Val(TextBox2.Text) * Val(TextBox3.Text)) / (Val(TextBox4.Text) * Val(TextBox5.Text))
TextBox6.Text = Str$(rez)
CommandButton1.Enabled = True
Else
TextBox6.Text = «»
CommandButton1.Enabled = False
End If
End Sub

При работе с текстом на рабочем листе Word необходимо знать следующие коды:

определение цвета
Selection.Font.Color =
wdColorRed – красный
wdColorDarkRed – бордовый
wdColorDarkTeal – бирюзовый
wdColorBlue – синий
wdColorGreen – зеленый
wdColorBlack – черный
wdColorOrange – оранжевый

определение жирности
Selection.Font.Bold =
wdToggle – жирность

определение начертания
Selection.Font.Italic=
wdToggle – курсив

определение выравнивания
Selection.ParagraphFormat.Alignment=
wdAlignParagraphRight – выравнивание по правому краю
wdAlignParagraphCenter – выравнивание по центру
wdAlignParagraphJustify – выравнивание по левому краю

вставка в текст конкретного предложения
Selection.TypeText Text:=»Пример работы с текстом»
вставка новой пустой строки
Selection.TypeParagraph
установка размера букв
Selection.Font.Size = 14

Одним из элементов оформления диалоговых окон является элемент управления Image (рисунок). Его основные свойства:

Autosize – изменяет размер рисунка на форме (автоматически или нет);

Picture – отображает графический файл, выводимый на форму;

pictureSizeMode – устанавливает масштабирование рисунка (не весь рисунок, вся поверхность объекта, целиком внутри объекта);

PictureAligment – устанавливает расположение рисунка внутри объекта (слева, справа, вверху, внизу);
pictureTilling – покрывает объект мозаикой из рисунка.

Данные свойства либо устанавливаются в окне свойств объекта, либо прописываются в листинге.

Примечание. При работе данного приложения все значения полей ввода должны быть числовыми. В VBA есть специальная функция для проверки того, является или нет введенная строка записью числа – IsNumeric. Для проверки отличия от нуля значений в последних двух полях ввода используется функция Val, которая переводит строковое выражение в числовое, если это строковое выражение содержит в своем начале цифры (или все состоит из них).

Читать еще:  Документ word 97 2003

Функция Str делает преобразование, обратное тому, что производит Val, – конвертирует числовое значение выражения в строковое, что позволяет этому значению в дальнейшем обрабатываться как строке.

Таким образом, функции Val и Str преобразуют типы данных обрабатываемых ими переменных, соответственно, из строкового в числовой и из числового в строковый.

Создание кнопки или панели в Word

Назначить форме кнопку или пункт меню для непосредственного вызова приложения из Word нельзя – это можно сделать только для модулей. Поэтому нужно применить следующий способ. Создайте макрос (Меню + Insert + Module) в открытом проекте:

Переименуйте этот макрос по своему усмотрению, например Teplo. И выполните следующие действия:

1. Щелкните правой кнопкой мыши в любом месте панели инструментов.

2. В этом меню выберите команду Настройка (или Сервис + Настройка).

3. В диалоговом окне Настройка щелкните на ярлыке вкладки Команды.

4. Прокрутите список Категории вниз и найдите пункт Макросы. Выберите этот пункт. В списке «Сохранить в» выберите имя вашего документа, в котором создан макрос.

5. В правом окне найдите необходимый макрос (либо VBA-программу).

6. Перетащите имя этого макроса или программы на панель инструментов.

7. Создайте соответствующую надпись кнопки и, если нужно, рисунок (при помощи правой кнопки мыши).

8. Закройте диалоговое окно Настройка, чтобы завершить работу.

9. В результате будет создана кнопка запуска приложения.

stekloman

VB.NET и другое

Пример программы

Представленная программа служит для выполнения следующих задач.
Вставка абзацев с определенными параметрами форматирования.
Модификация диапазонов в рамках документа.
Вставка, форматирование и заполнение таблиц.
Добавление диаграммы.
Для создания документа Word с помощью Visual Basic необходимо выполнить следующие действия.
Запустите Microsoft Visual Studio .NET. В меню Файл выберите команду Создать, а затем — Проект. В списке Типы проектов выберите проект Проекты Visual Basic, а затем в разделе Шаблоны — элемент Приложение Windows. По умолчанию будет создана форма Form1.
Добавьте ссылку на объектную библиотеку Microsoft Word Object Library. Для этого необходимо выполнить следующие действия.
Выберите в меню Проект команду Добавить ссылку.
На вкладке COM выделите библиотеку Microsoft Word Object Library и нажмите кнопку Выбрать.

Примечание. В состав Microsoft Office 2003 входят основные сборки взаимодействия (PIA). Microsoft Office XP не включает эти сборки, но их можно загрузить. За дополнительными сведениями об основных сборках взаимодействия PIA для Office XP обратитесь к следующей статье Microsoft Knowledge Base:
328912 INFO: Microsoft Office XP PIAs Are Available for Download
Для подтверждения сделанного выбора нажмите кнопку OK в диалоговом окне Add References. Если появится запрос на создание упаковщиков для выбранных библиотек, нажмите кнопку Yes.
Для отображения панели инструментов выберите в меню View команду Toolbox и добавьте кнопку в форму Form1.
Два раза щелкните кнопку Button1. Появится окно программного кода формы.
В этом окне подставьте вместо
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click

следующий программный код:
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click

Dim oWord As Word.Application
Dim oDoc As Word.Document
Dim oTable As Word.Table
Dim oPara1 As Word.Paragraph, oPara2 As Word.Paragraph
Dim oPara3 As Word.Paragraph, oPara4 As Word.Paragraph
Dim oRng As Word.Range
Dim oShape As Word.InlineShape
Dim oChart As Object
Dim Pos As Double

‘Start Word and open the document template.
oWord = CreateObject(«Word.Application»)
oWord.Visible = True
oDoc = oWord.Documents.Add

‘Insert a paragraph at the beginning of the document.
oPara1 = oDoc.Content.Paragraphs.Add
oPara1.Range.Text = «Heading 1»
oPara1.Range.Font.Bold = True
oPara1.Format.SpaceAfter = 24 ’24 pt spacing after paragraph.
oPara1.Range.InsertParagraphAfter()

‘Insert a paragraph at the end of the document.
‘** endofdoc is a predefined bookmark.
oPara2 = oDoc.Content.Paragraphs.Add(oDoc.Bookmar ks.Item(«endofdoc»).Range)
oPara2.Range.Text = «Heading 2»
oPara2.Format.SpaceAfter = 6
oPara2.Range.InsertParagraphAfter()

‘Insert another paragraph.
oPara3 = oDoc.Content.Paragraphs.Add(oDoc.Bookmar ks.Item(«endofdoc»).Range)
oPara3.Range.Text = «This is a sentence of normal text. Now here is a table:»
oPara3.Range.Font.Bold = False
oPara3.Format.SpaceAfter = 24
oPara3.Range.InsertParagraphAfter()

‘Insert a 3 x 5 table, fill it with data, and make the first row
‘bold and italic.
Dim r As Integer, c As Integer
oTable = oDoc.Tables.Add(oDoc.Bookmarks.Item(«en dofdoc»).Range, 3, 5)
oTable.Range.ParagraphFormat.SpaceAfter = 6
For r = 1 To 3
For c = 1 To 5
oTable.Cell(r, c).Range.Text = «r» & r & «c» & c
Next
Next
oTable.Rows.Item(1).Range.Font.Bold = True
oTable.Rows.Item(1).Range.Font.Italic = True

Читать еще:  Практическая работа формулы в word

‘Add some text after the table.
‘oTable.Range.InsertParagraphAfter()
oPara4 = oDoc.Content.Paragraphs.Add(oDoc.Bookmar ks.Item(«endofdoc»).Range)
oPara4.Range.InsertParagraphBefore()
oPara4.Range.Text = «And here’s another table:»
oPara4.Format.SpaceAfter = 24
oPara4.Range.InsertParagraphAfter()

‘Insert a 5 x 2 table, fill it with data, and change the column widths.
oTable = oDoc.Tables.Add(oDoc.Bookmarks.Item(«en dofdoc»).Range, 5, 2)
oTable.Range.ParagraphFormat.SpaceAfter = 6
For r = 1 To 5
For c = 1 To 2
oTable.Cell(r, c).Range.Text = «r» & r & «c» & c
Next
Next
oTable.Columns.Item(1).W > oTable.Columns.Item(2).W >
‘Keep inserting text. When you get to 7 inches from top of the
‘document, insert a hard page break.
Pos = oWord.InchesToPoints(7)
oDoc.Bookmarks.Item(«endofdoc»).Range.I nsertParagraphAfter()
Do
oRng = oDoc.Bookmarks.Item(«endofdoc»).Range
oRng.ParagraphFormat.SpaceAfter = 6
oRng.InsertAfter(«A line of text»)
oRng.InsertParagraphAfter()
Loop While Pos >= oRng.Information(Word.WdInformation.wdVe rticalPositionRelativeToPage)
oRng.Collapse(Word.WdCollapseDirection.w dCollapseEnd)
oRng.InsertBreak(Word.WdBreakType.wdPage Break)
oRng.Collapse(Word.WdCollapseDirection.w dCollapseEnd)
oRng.InsertAfter(«We’re now on page 2. Here’s my chart:»)
oRng.InsertParagraphAfter()

‘Insert a chart and change the chart.
oShape = oDoc.Bookmarks.Item(«endofdoc»).Range.I nlineShapes.AddOLEObject( _
, FileName _
:=»», LinkToFile:=False, DisplayAsIcon:=False)
oChart = oShape.OLEFormat.Object
oChart.charttype = 4 ‘xlLine = 4
oChart.Application.Update()
oChart.Application.Quit()
‘If desired, you can proceed from here using the Microsoft Graph
‘Object model on the oChart object to make additional changes to the
‘chart.
oShape.W > oShape.Height = oWord.InchesToPoints(3.57)

‘Add text after the chart.
oRng = oDoc.Bookmarks.Item(«endofdoc»).Range
oRng.InsertParagraphAfter()
oRng.InsertAfter(«THE END.»)

‘All done. Close this form.
Me.Close()

Добавьте следующий программный код в верхнюю часть файла Form1.vb:
Imports Word = Microsoft.Office.Interop.Word

Для создания и запуска программы нажмите клавишу F5.
Будет создан двухстраничный документ, который содержит текст, таблицы и диаграмму.

Работа с Word — Создание, открытие, форматирование, закрытие и сохранение

Использование Word в приложениях на Visual Basic 6 открывает широчайшие возможности для создания профессионально оформленных документов (например отчетов). Это часто необходимо при работе в фирме или на предприятии для обеспечения документооборота. Основным преимуществом использования Wordа в этом случае является то, что практически на всех компьютерах, используемых в фирмах и на предприятиях установлены Windows и пакет Microsoft Office. Поэтому подготовленные документы Word не требуют каких-либо дополнительных усилий для их просмотра, печати и редактирования. Единственное что нужно помнить, это то что работа через автоматизацию OLE (связывание и внедрение объектов) на деле оказывается довольно медленной технологией, хотя и очень полезной.

Чтобы использовать объекты Word в Visual Basic , необходимо инсталлировать сам Word. После этого вы получаете в своё распоряжение библиотеку Microsoft Word Object Library, которую нужно подключить к текущему проекту через диалоговое окно «Разработать»>>»Ссылки» (References) и указать Microsoft Word 9.0 Object Library (для Word 2000).

Два самых важных объекта Word это Word.Application и Word.Document. Они обеспечивают доступ к экземпляру приложения и документам Word.

Поэтому в раздел Generals «Общее» формы введите следующий код для объявления объектных переменных приложения Word и документа Word.

Чтобы создать новый экземпляр Word, введите такой код кнопки;

Для форматирования печатной области документа используйте данный код:

(вообще-то Word использует для всех размеров своих элементов пункты, поэтому для использования других единиц измерения, необходимо использовать встроенные функции форматирования.)

  • CentimetersToPoints(Х.ХХ) — переводит сантиметры в пункты.
  • MillimetersToPoints(X.XX) — переводит миллиметры в пункты

Для того чтобы в своём приложении не писать постоянно одно и тоже имя объекта, можно использовать оператор With.

Например код находящейся выше можно переписать так:

Если вам необходимо создать документ Word с нестандартным размером листа, то используйте данный код:

Данный код меняет ориентацию страницы (практически меняет местами значения ширины и высоты листа):

  • wdOrientLandscape — альбомная ориентация ( число 1)
  • wdOrientPortrait — книжная ориентация ( число 0)

Для сохранения документа под новым именем и в определенное место используйте данный код код:

После такого сохранения вы можете про ходу работы с документом сохранять его.

Или проверить, были ли сохранены внесенные изменения свойством Saved и если изменения не были сохранены — сохранить их;

Завершив работу с документом, вы можете закрыть сам документ методом Close и сам Word методом Quit.

Если в методах Close и Quit не использовать необязательный параметр True то Word запросит согласие пользователя (если документ не был перед этим сохранён) на закрытие документа.

Если вам необходимо оставить Word открытым, просто не используйте методы Close и Quit.

Если вам необходимо поставить пароль на документ, то используйте код:

Ссылка на основную публикацию
Adblock
detector