Календарь на Июнь 2024 года: calendar2008.ru/2024/iyun/
Навигация
Главная »  Windows 

Visual Basic .NET: Взаимодействие с Microsoft Word 2000 и выше (исходники)


Источник: KByte
Хабибулин А.
Эта статья будет полезна только тем людям, у которых установлен Microsoft Word 2000 или выше! Мы научимся делать всё возможное с документами MS WORD при помощи VB 2003/2005 .NET. Подключение библиотеки к проекту
  1. Создайте проект (Windows Application) В поле Name(Имя) введите Word (можно любое др. имя)
  2. В меню Project (Проект) выберите меню Add Reference (Добавить ссылку)
  3. В диалоговом окне Add Reference перейдите на вкладку COM и выберите в списке Microsoft Word 9.0 Object Library (или другую версию, это зависит от того, какая версия MS Word у вас установлена на компьютере), жмёте клавишу Enter
  4. Всё, библиотека Word уже включена в наш проект!
Работаем с MS Word
  1. Всё необходимое для работы мы уже сделали теперь для удобства работы с библиотекой Word необходимо ввести в General Declarations код:
Imports Word 'Импортируем пространство имён Public Class Form1 End Class 
  1. Создадим переменную для управления 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
  1. Теперь создадим документ, дял этого введём следующий код:
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 
  1. Всё, документ создан, теперь, попробуем написать в нём что-либо. Для этого воспоьзуемся объектом 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 
  1. Ещё немного об объекте 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 
  1. Печать содержимого документа производится пр помощи этого кода:
documentWord.PrintOut
  1. Предварительный просмотр перед печатью производится пр помощи этого кода:
documentWord.PrintPreview()
  1. Сохранять документ можнно при помощи этого кода:
documentWord.SaveAs(FileName:="C:\MyDocument.doc")
  1. Выход из MS Word осуществляется при помощи этого кода:
applicationWord.Quit() Вот в принципе и всё!



 

 Как восстановить таблицу.
 DocsVision - тяжелая артиллерия.
 SAP Business All-in-One.
 BrightStor 6.4 расширяет возможности управления ресурсами памяти.
 Microsoft: Windows Desktop Search v.3.01 (Русская версия) (download).


Главная »  Windows 

© 2024 Team.Furia.Ru.
Частичное копирование материалов разрешено.