|
Навигация
|
Главная » Windows
Visual Basic .NET: Взаимодействие с Microsoft Word 2000 и выше (исходники)
Источник: KByte Хабибулин А. Эта статья будет полезна только тем людям, у которых установлен Microsoft Word 2000 или выше! Мы научимся делать всё возможное с документами MS WORD при помощи VB 2003/2005 .NET. Подключение библиотеки к проекту - Создайте проект (Windows Application) В поле Name(Имя) введите Word (можно любое др. имя)
- В меню Project (Проект) выберите меню Add Reference (Добавить ссылку)
- В диалоговом окне Add Reference перейдите на вкладку COM и выберите в списке Microsoft Word 9.0 Object Library (или другую версию, это зависит от того, какая версия MS Word у вас установлена на компьютере), жмёте клавишу Enter
- Всё, библиотека Word уже включена в наш проект!
Работаем с MS Word - Всё необходимое для работы мы уже сделали теперь для удобства работы с библиотекой Word необходимо ввести в General Declarations код:
Imports Word 'Импортируем пространство имён Public Class Form1 End Class | - Создадим переменную для управления Word`ом:
Imports Word 'Импортируем пространство имён Public Class Form1 Dim applicationWord As Microsoft.Office.Interop.Word.Application Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load applicationWord = New Microsoft.Office.Interop.Word.Application End Sub End Class | После выполнения кода, открывается приложение MS Word, но оно скрыто, для того, чтобы сделать его видимым впишите в событие Form_Load следующий код: Imports Word 'Импортируем пространство имён Public Class Form1 Dim applicationWord As Microsoft.Office.Interop.Word.Application Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load applicationWord = New Microsoft.Office.Interop.Word.Application applicationWord.Visible = True End Sub End Class | Но управлять содержимым документа MS Word с помощью переменной applicationWord, для управления содержимым документа создадим ещё одну переменную: Imports Word 'Импортируем пространство имён Public Class Form1 Dim applicationWord As Microsoft.Office.Interop.Word.Application Dim documentWord As Microsoft.Office.Interop.Word.Document 'Объявляем переменную для работы с текстом и др. возможностями документа MS Word, например: Создаём таблицы; Меняем размер, цвет шрифта; и.т.д. Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load 'Запускаем приложение MS Word applicationWord = New Microsoft.Office.Interop.Word.Application 'Делаем приложение MS Word видимым для пользователя (это делать не обязательно) applicationWord.Visible = True End Sub End Class | - Теперь создадим документ, дял этого введём следующий код:
Imports Word 'Импортируем пространство имён Public Class Form1 Dim applicationWord As Microsoft.Office.Interop.Word.Application Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load 'Запускаем приложение MS Word applicationWord = New Microsoft.Office.Interop.Word.Application 'Делаем приложение MS Word видимым для пользователя (это делать не обязательно) applicationWord.Visible = True 'Объявляем переменную для работы с текстом и др. возможностями документа MS Word, например: Создаём таблицы; Меняем размер, цвет шрифта; и.т.д. Dim documentWord As Microsoft.Office.Interop.Word.Document = applicationWord.Documents.Add End Sub End Class | - Всё, документ создан, теперь, попробуем написать в нём что-либо. Для этого воспоьзуемся объектом Range, который находится в переменной documentWord.Range, попробуем вписать туда имя вашего компьютера (только для VB 2005 .Net), для этого впишем следующий код:
Imports Word 'Импортируем пространство имён Public Class Form1 Dim applicationWord As Microsoft.Office.Interop.Word.Application Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load 'Запускаем приложение MS Word applicationWord = New Microsoft.Office.Interop.Word.Application 'Делаем приложение MS Word видимым для пользователя (это делать не обязательно) applicationWord.Visible = True 'Объявляем переменную для работы с текстом и др. возможностями документа MS Word, например: Создаём таблицы; Меняем размер, цвет шрифта; и.т.д. Dim documentWord As Microsoft.Office.Interop.Word.Document = applicationWord.Documents.Add 'Range - это, можно сказать, тело документа имеет все свойства для работы с текстом в документе MS Word With documentWord.Range 'Устанавливаем имя шрифта .Font.Name = "Arial" 'Устанавливаем цвет шрифта .Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorBlack .Font.Size = "12" 'Устанавливаем размер шрифта 'меняем текст документа на традиционную надпись "Привет Мир!!!" .Text = My.User.Name End With End Sub End Class | - Ещё немного об объекте Range. Допустим, нам необходимо вставить текст перед тем текстом который у нас уже есть в документе, или после этого текста, даже может внутри текста, для этого есть дополнительные свойства объекта Range, ниже я привёл примеры вставки текста до, после и внутри уже существующего текста:
Imports Word 'Импортируем пространство имён Public Class Form1 Dim applicationWord As Microsoft.Office.Interop.Word.Application Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load 'Запускаем приложение MS Word applicationWord = New Microsoft.Office.Interop.Word.Application 'Делаем приложение MS Word видимым для пользователя (это делать не обязательно) applicationWord.Visible = True 'Объявляем переменную для работы с текстом и др. возможностями документа MS Word, например: Создаём таблицы; Меняем размер, цвет шрифта; и.т.д. Dim documentWord As Microsoft.Office.Interop.Word.Document = applicationWord.Documents.Add 'Range - это, можно сказать, тело документа имеет все свойства для работы с текстом в документе MS Word With documentWord.Range .Font.Name = "Arial" 'Устанавливаем имя шрифта 'Устанавливаем цвет шрифта .Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorBlack .Font.Size = "12" 'Устанавливаем размер шрифта .Text = "KByte.ru" End With documentWord.Range(0, 0).Text = "Вас Приветствует " 'До существующего текста documentWord.Range(Len("KByte.ru") + Len("Вас Приветствует "), Len("KByte.ru") + Len("Вас Приветствует ")).Text = ": Привет!" 'После Существующего текста End Sub End Class | - Печать содержимого документа производится пр помощи этого кода:
documentWord.PrintOut - Предварительный просмотр перед печатью производится пр помощи этого кода:
documentWord.PrintPreview() - Сохранять документ можнно при помощи этого кода:
documentWord.SaveAs(FileName:="C:\MyDocument.doc") - Выход из MS Word осуществляется при помощи этого кода:
applicationWord.Quit() Вот в принципе и всё!
Как восстановить таблицу. DocsVision - тяжелая артиллерия. SAP Business All-in-One. BrightStor 6.4 расширяет возможности управления ресурсами памяти. Microsoft: Windows Desktop Search v.3.01 (Русская версия) (download).
Главная » Windows
|