13290

Автоматизация создания документов с помощью Visual Basic .NET

Лабораторная работа

Информатика, кибернетика и программирование

6. ЛАБОРАТОРНАЯ РАБОТА Автоматизация создания документов с помощью Visual Basic .NET 6.1. Цель работы: приобретение практических навыков автоматизации создания документов с помощью Visual Basic с использованием инструментальных средств интегрированной среды разработки Vis...

Русский

2013-05-11

101.5 KB

16 чел.

6. ЛАБОРАТОРНАЯ РАБОТА

Автоматизация создания документов с помощью Visual Basic .NET

6.1. Цель   работы:  приобретение   практических  навыков автоматизации создания документов с помощью Visual Basic с использованием инструментальных средств интегрированной среды разработки Visual Studio .NET. 

6.2. Методические указания по  организации самостоятельной  работы студентов

При подготовке к лабораторной работе рекомендуется изучить  современные технологии программирования, базирующиеся на платформе .NET. Этот материал можно найти в на сайте http://msdn.microsoft.com/. После изучения  материала следует ответить на контрольные вопросы и внимательно изучить рабочее задание к работе.

6.3 Краткие теоретические положения

 

Корпорация Майкрософт предлагает несколько основных сборок взаимодействия (primary interop assembly, PIA), в которых содержится официальное описание наиболее часто используемых библиотек Microsoft Office XP. Microsoft Office XP PIA облегчают взаимодействие между управляемым кодом и СОМ-библиотеками Office XP.

СОМ-сборки взаимодействия позволяют выполнять неуправляемый код (СОМ) из управляемого кода (.NET) при помощи Microsoft .NET Framework и общеязыковой среды выполнения. СОМ-сборки взаимодействия позволяют управляемым приложениям привязываться к неуправляемым типам во время компиляции и затем передавать в общеязыковую среду выполнения информацию о том, как в процессе выполнения должны группироваться неуправляемые типы.


Хотя для каждой конкретной библиотеки может существовать неограниченное число СОМ-сборок взаимодействия, только одна из них может выступать в роли PIA. PIA содержит официальное описание неуправляемых типов, определяемых их издателем. Кроме того, PIA всегда имеют цифровую подпись издателя.


Как правило, следует избегать использования СОМ-сборок взаимодействия Office XP, не входящих в число основных сборок взаимодействия Office XP. Также следует избегать использования СОМ-сборок взаимодействия Office XP, созданных Microsoft Visual Studio .NET во время разработки. Любая СОМ-сборка взаимодействия Office XP, не входящая в загружаемый пакет основных сборок взаимодействия Office XP, считается неофициальной.


Чтобы загрузить официальные PIA для приложений Microsoft Office XP и связанных с ними технологий, обратитесь на веб-узел MSDN (Microsoft Developer Network) по адресу:

Основные сборки взаимодействия (PIA) для Microsoft Office XP
http://msdn.microsoft.com/vstudio/downloads/tools/ (http://msdn.microsoft.com/vstudio/downloads/tools/)

Ниже перечислены модули, входящие в загрузочный комплект Office XP PIA.

  •  adodb.dll
  •  dao.dll
  •  Microsoft.Office.Interop.Access.dll
  •  Microsoft.Office.Interop.Excel.dll
  •  Microsoft.Office.Interop.FrontPage.dll
  •  Microsoft.Office.Interop.FrontPageEditor.dll
  •  Microsoft.Office.Interop.Graph.dll
  •  Microsoft.Office.Interop.Outlook.dll
  •  Microsoft.Office.Interop.OutlookViewCtl.dll
  •  Microsoft.Office.Interop.Owc.dll
  •  Microsoft.Office.Interop.PowerPoint.dll
  •  Microsoft.Office.Interop.Publisher.dll
  •  Microsoft.Office.Interop.SmartTag.dll
  •  Microsoft.Office.Interop.Visio.dll
  •  Microsoft.Office.Interop.Word.dll
  •  Microsoft.Vbe.Interop.dll
  •  mscomctl.dll
  •  msdatasrc.dll
  •  office.dll
  •  stdole.dll

6.4 Порядок выполнения работы

6.1 Спроектируйте форму, разместив на ней элементы управления, как показано на рис.6.1.

Рисунок 6.1

Для создания документа Word с помощью Visual Basic необходимо выполнить следующие действия.

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

Выберите в меню Проект команду Добавить ссылку.

На вкладке COM выделите библиотеку Microsoft Word Object Library и нажмите кнопку Выбрать.

Для подтверждения сделанного выбора нажмите кнопку
OK в диалоговом окне Add References. Если появится запрос на создание упаковщиков для выбранных библиотек, нажмите кнопку Yes.

Добавьте следующий программный код в верхнюю часть (первая строка) файла Form1.vb:

Imports Word = Microsoft.Office.Interop.Word

  1.  Для отображения панели инструментов выберите в меню View команду Toolbox и добавьте 3 кнопки, а также по 2 элемента TextBox, MaskedTextBox на форму Form1.
  2.  Свяжите с кнопками следующий код:

Для первой кнопки:

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 oPara1 As Word.Paragraph, oPara2 As Word.Paragraph

       Dim oPara3 As Word.Paragraph

       Dim oRng As Word.Range

    

       ‘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 = “ Фамилия “ & TextBox2.Text & “ Имя “ & TextBox1.Text & “ Год рождения “ & MaskedTextBox1.Text & “ Телефон “ & MaskedTextBox2.Text

       oPara1.Range.Font.Bold = False

       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.Bookmarks.Item(“\endofdoc”).Range)

       oPara2.Range.Font.Bold = True

       oPara2.Range.Text = “ “ & TextBox2.Text & “ “ & TextBox1.Text & “ “ & MaskedTextBox1.Text & “ “ & MaskedTextBox2.Text

       oPara2.Format.SpaceAfter = 12

       oPara2.Range.InsertParagraphAfter()

       ‘Insert another paragraph.

       oPara3 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks.Item(“\endofdoc”).Range)

       oPara3.Range.Text = « Пример форматирования текста «

       oPara3.Range.Font.Bold = False

       oPara3.Format.SpaceAfter = 24

       oPara3.Range.InsertParagraphAfter()

       oRng = oDoc.Bookmarks.Item(«\endofdoc»).Range

       oRng.InsertParagraphAfter()

       oRng.InsertAfter(«Конец документа «)

       ‘All done. Close this form.

       'Me.Close()

   End Sub

Для второй кнопки

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.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

       ‘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 = “ Фамилия “ & TextBox2.Text & “ Имя “ & TextBox1.Text & “ Год рождения “ & MaskedTextBox1.Text & “ Телефон “ & MaskedTextBox2.Text

       oPara1.Range.Font.Bold = False

       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.Bookmarks.Item(“\endofdoc”).Range)

       oPara2.Range.Font.Bold = True

       oPara2.Range.Text = “ “ & TextBox2.Text & “ “ & TextBox1.Text & “ “ & MaskedTextBox1.Text & “ “ & MaskedTextBox2.Text

       oPara2.Format.SpaceAfter = 12

       oPara2.Range.InsertParagraphAfter()

       ‘Insert another paragraph.

       oPara3 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks.Item(“\endofdoc”).Range)

       oPara3.Range.Text = « Пример форматирования «

       oPara3.Range.Font.Bold = False

       oPara3.Format.SpaceAfter = 24

       oPara3.Range.InsertParagraphAfter()

       ‘Insert a 2 x 4 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(“\endofdoc”).Range, 2, 4)

       oTable.Range.ParagraphFormat.SpaceAfter = 6

       oTable.Cell(1, 1).Range.Text = “ Фамилия “

       oTable.Cell(1, 2).Range.Text = “ Имя “

       oTable.Cell(1, 3).Range.Text = “ Год рождения “

       oTable.Cell(1, 4).Range.Text = “ Телефон “

       oTable.Cell(2, 1).Range.Text = TextBox1.Text

       oTable.Cell(2, 2).Range.Text = TextBox2.Text

       oTable.Cell(2, 3).Range.Text = MaskedTextBox1.Text

       oTable.Cell(2, 4).Range.Text = MaskedTextBox2.Text

       oTable.Rows.Item(1).Range.Font.Bold = True

       oTable.Rows.Item(1).Range.Font.Italic = True

       ‘Add some text after the table.

       ‘oTable.Range.InsertParagraphAfter()

       oPara4 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks.Item(“\endofdoc”).Range)

       oPara4.Range.InsertParagraphBefore()

       oPara4.Range.Text = “Пример форматирования”

       oPara4.Format.SpaceAfter = 24

       oPara4.Range.InsertParagraphAfter()

       ‘Insert a 4 x 2 table, fill it with data, and change the column widths.

       oTable = oDoc.Tables.Add(oDoc.Bookmarks.Item(“\endofdoc”).Range, 4, 2)

       oTable.Range.ParagraphFormat.SpaceAfter = 6

       oTable.Cell(1, 1).Range.Text = “ Фамилия “

       oTable.Cell(2, 1).Range.Text = “ Имя “

       oTable.Cell(3, 1).Range.Text = “ Год рождения “

       oTable.Cell(4, 1).Range.Text = “ Телефон “

       oTable.Cell(1, 2).Range.Text = TextBox1.Text

       oTable.Cell(2, 2).Range.Text = TextBox2.Text

       oTable.Cell(3, 2).Range.Text = MaskedTextBox1.Text

       oTable.Cell(4, 2).Range.Text = MaskedTextBox2.Text

       oTable.Columns.Item(1).Width = oWord.InchesToPoints(2)   ‘Change width of columns 1 & 2

       oTable.Columns.Item(2).Width = oWord.InchesToPoints(3)

       oRng = oDoc.Bookmarks.Item(“\endofdoc”).Range

       oRng.InsertParagraphAfter()

       oRng.InsertAfter(“Конец документа “)

       ‘All done. Close this form.

       'Me.Close()

   End Sub

Для третьей кнопки

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

       Dim oWord As Word.Application

       Dim oDoc As Word.Document

       Dim oPara1 As Word.Paragraph

       Dim oRng As Word.Range

       Dim oShape As Word.InlineShape

       Dim oChart As Object

       ‘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 = “ Фамилия “ & TextBox2.Text & “ Имя “ & TextBox1.Text & “ Год рождения “ & MaskedTextBox1.Text & “ Телефон “ & MaskedTextBox2.Text

       oPara1.Range.Font.Bold = False

       oPara1.Format.SpaceAfter = 24    ‘24 pt spacing after paragraph.

       oPara1.Range.InsertParagraphAfter()

       ‘Insert a chart and change the chart.

       oShape = oDoc.Bookmarks.Item(“\endofdoc”).Range.InlineShapes.AddOLEObject( _

           ClassType:=”MSGraph.Chart.8”, 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.Width = oWord.InchesToPoints(6.25)

       oShape.Height = oWord.InchesToPoints(6.25)

       ‘Add text after the chart.

       oRng = oDoc.Bookmarks.Item(“\endofdoc”).Range

       oRng.InsertParagraphAfter()

       oRng.InsertAfter(“Конец документа.”)

       ‘All done. Close this form.

       'Me.Close()

   End Sub

 В результате работы приложения будут созданы  документы, которые содержат текст,  две таблицы и диаграмму.

6.5 Задание для самостоятельной работы

1. Создайте самостоятельно приложение произвольного содержания.

6.6. Литература

  1.  Троелсен Эндрю. C# и платформа .NET. Библиотека программиста – СПб.: Питер, 2006. – 796 с.: ил.
  2.  Джеф Просиз. Программирование для Microsoft .NET /Пер. с англ. – М.: Издательско-торговый дом «Русская редакция», 2003. – 704 стр.: ил.
  3.  Экспозито Д. Microsoft ASP.NET 2.0. Базовый курс. Мастер класс / Пер. с ангд. – М.: Издательство «Русская редакция» ; СПб. : Питер , 2007. – 688 стр. : ил.
  4.  Нейгел Кристиан, Ивбен Билл, Глин Джей, Скиннер Морган, Уотсон Карли. Н45 C# 2005 и платформа .NET 3.0 для профессионалов. : Пер. с анг. – М. : ООО  И.Д. “Вильямс”, 2008. – 1376+416 (на CD) с. : Парал. Тит. Анг.

PAGE  3

  1.  

 

А также другие работы, которые могут Вас заинтересовать

64846. СТИЛІСТИЧНИХ ОСОБЛИВОСТІ РАДІОМАТЕРІАЛІВ 46 KB
  Наприклад в спортивному огляді звуки гонгу тупіт копит наростаючий і стихаючий шум натовпу означають що репортаж ведеться з іподрому і кореспондентові не обов'язково витрачати час і слова на опис місця дії. Позначення переміщення дії в часі і просторі.
64847. ЖАНРОВА ПАЛІТРА РАДІОМОВЛЕННЯ 44.5 KB
  Відмінність жанрів радіожурналістики від жанрів газетної журналістики обумовлено специфікою радіокомунікації. Ключ до розуміння особливостей формування радіожанрів дають специфічні виражальні засоби якими оперує мовлення.
64848. ТЕЛЕБАЧЕННЯ В СИСТЕМІ ЗМІ 40.5 KB
  Особливості технічного постачання телевізійного сигналу ефірне телебачення кабельні мережі супутникові телеканали. Телебачення як об’єкт культурології та соціології.
64849. ІНФОРМАЦІЙНІ ПРОГРАМИ НА ТЕЛЕБАЧЕННІ 43 KB
  Виробництво телевізійного сюжету Мова та стиль інформаційної програми. Єдність усіх журналістських матеріалів які утворюють цілісну структуру складеного інформаційного тексту програми є вищим рівнем професійної майстерності журналістів.
64850. ЖУРНАЛІСТСЬКЕ РОЗСЛІДУВАННЯ НА ТЕЛЕБАЧЕННІ 43.5 KB
  Технологія розслідування: методи етапи. Умови реалізації журналістського розслідування: доступ до джерел інформації правові та етичні обмеження безпека журналістів Журналістські розслідування англ. Журналістське розслідування не просто відповідає на запитання...
64851. ПОЛИТИЧЕСКИЕ ПАРТИИ И ПАРТИЙНЫЕ СИСТЕМЫ ЗАРУБЕЖНЫХ СТРАН 83 KB
  В структуру политической организации входит: государство партии иные общественные организации выражающие интересы доминирующих классов партии и иные организации классов которые противостоят правящим слоям общества важнейшим элементом являются политические партии.
64852. КОНСТИТУЦИОННО-ПРАВОВОВЙ СТАТУС ЧЕЛОВЕКА И ГРАЖДАНИНА В ЗС 95 KB
  В науке КП для обозначения правового положения личности установленного нормами законодательства принято использовать следующие термины: основы правового статуса человека и гражданина; конституционно-правовой статус человека и гражданина.
64853. ФОРМЫ ГОСУДАРСТВА В ЗС 126 KB
  Форма государства совокупность внешних признаков организации и осуществление государственной власти. Форма государства включает в себя 3 стороны организации государственной власти: форма правления форма государственного устройства политический режим историческая практика свидетельствует...
64854. ИЗБИРАТЕЛЬНОЕ ПРАВО И ИЗБИРАТЕЛЬНЫЕ СИСТЕМЫ ЗАРУБЕЖНЫХ СТРАН 120 KB
  Избирательное право и избирательная система связана с формированием органов государственной власти и ОМС. в объективном смысле это система юридических норм регулирующих порядок формирования выборных государственных органов...