13290

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

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

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

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

Русский

2013-05-11

101.5 KB

25 чел.

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.  

 

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

78576. Допоможемо природі 37 KB
  На мелодію з мультфільму Бременські музики Весь світ у нас в руках Керують ним лиш люди Дізнатись хочем ми Що завтра з світом буде Ось ми прийшли сюди до Вас Привіт Бонжур Хеллоу Те що розкажемо в цей час Хвилює всіх давно Нумо в цей час Слухайте нас Загітувати...
78577. Водойми рідного краю. Охорона водойм 64.5 KB
  Виховувати любов до природи та дбайливе ставлення до водойм. Формувати в учнів поняття «водойми». З’ясувати значення водойм рідного краю у житті людини. Ознайомити з різноманітністю водойм рідного краю. Розвивати пізнавальний інтерес, уміння аналізувати, порівнювати, робити висновки.
78578. Водойми України 67.5 KB
  Мета: розкрити значення води в житті людини та природи; ознайомити учнів із поняттями водойми, джерела, річки, озера, болота, моря та їх значенням в житті людини; розвивати вміння спостерігати, робити висновки, узагальнювати; виховувати дбайливе ставлення до водойм.
78579. Які бувають рослини? 184 KB
  Ознайомити учнів з різноманітним світом рослин; навчати порівнювати дерева кущі травянисті рослини; розкрити значення рослин у житті людини; розвивати звязне мовлення мислення дітей; виховувати дбайливе ставлення до рослин бажання доглядати охороняти природу.
78580. Сонце, сонечко та соняшник 51 KB
  Мета: формувати в учнів уявлення про Сонце про залежність життя рослин і тварин від сонячного світла і тепла; розвивати мовленнєві здібності уміння декламувати; виховувати інтерес до знань. Сонце Девіз уроку: Веди нас сонечко в політ Більше дізнаємось про світ.
78581. Почва. Почва – это место, где живут мелкие животные 84 KB
  Цель: продолжить формировать представление о предметах неживой природы, сформировать понятие о почве и её значении в жизни живых существ, познакомить с составом почвы; развивать логическое мышление, внимание, связную речь, навыки исследовательской работы, познавательный интерес...
78582. Різноманітність рослин. Значення рослин у житті людини 87 KB
  Навчати учнів розпізнавати рослини найближчого оточення. Плакат із записом шифрограми; малюнки із зображенням листяних і хвойних дерев; матеріали для ігор; повязки із зображенням квітів; дитяча енциклопедія Рослини.
78583. Тварини. Різноманітність тварин 14.53 MB
  Мета: розширити і уточнити знання учнів про різноманітність тварин середовище їхнього існування; про тварин які живуть поряд з людиною; розкрити цінність тварин для людини; розвивати вміння спостерігати за тваринами порівнювати тварин групувати їх; виховувати шанобливе ставлення до тварин.
78584. Сонце в нашому житті 2.33 MB
  Мета уроку: ознайомити учнів із Сонцем як небесною зіркою; розвивати життєві та екологічні компетентності; фантазію уяву кмітливість; виховувати гідне ставлення до природи; Обладнання: підручник робочий зошит кольорові олівці пластилін малюнки таблиці.