(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

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()

Вот в принципе и всё!



 Распечатать »
 Правила публикации »
  Обсудить материал в конференции Microsoft »
Обсудить материал в конференции Дизайн, графика, обработка изображений »
Написать редактору 
 Рекомендовать » Дата публикации: 17.03.2007 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Visual Studio Professional 2017 Russian Academic OLP 1License NoLevel
Microsoft Windows Professional 10, Электронный ключ
Microsoft Visual Studio Professional w/MSDN AllLng License/Software Assurance Pack OLP 1 License No Level Qualified
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft Windows Home 10 Russian Academic OLP 1 License No Level Legalization GetGenuine
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Программирование в AutoCAD
Corel DRAW - от идеи до реализации
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Пишу программы на заказ профессионально (2254)
Пишу программы на заказ на языках Pascal (численные методы, списки, деревья, прерывания) под...
 
Как извлечь рисунки из файла Word (40)
Вообще-то есть еще способ - сделать в Word-е Copy рисунка, открыть Microsoft Photo Editor и там:...
 
Программист более не звучит гордо (16)
Согласен. Но никак это не относится к тем, кто программирует на ассемблере. Мы - редкость....
 
Пишу программы на Lazarus (20)
Предлагаю разработку программ на заказ. Примеры программ: www.itproportal.ru
 
Специалист по reverse engineering (2)
Предлагаю услуги по реверсу и модификации различных программ.
 
 
 



    
rambler's top100 Rambler's Top100