13290

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

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

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

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

Русский

2013-05-11

101.5 KB

17 чел.

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.  

 

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

58706. Усне множення двоцифрових і круглих багатоцифрових чисел на розрядні числа 59 KB
  Мета: закріплювати вміння учнів виконувати усне множення двоцифрових і круглих багатоцифрових чисел на розрядні числа; удосконалювати вміння розв’язувати складені задачі розв’язання яких вимагає знаходження дробу від числа...
58707. Узагальнююче слово при однорідних членах речення. Двокрапка й тире при узагальнюючих словах у реченнях з однорідними членами 36 KB
  Мета: а навчальна: навчити розрізняти узагальнюючі слова при однорідних членах речення; моделювати схеми речень з узагальнюючим словом при однорідних членах; б розвиваюча: розвивати творчі вміння поширювати речення узагальнюючими...
58708. Число іменників (однина і множина) 87.5 KB
  Які іменники відносяться до власних Як пишуться власні іменники А як загальні Наведіть приклади. Які іменники відносяться до чоловічого роду Які до жіночого А які до середнього Актуалізація опорних знань. Я буду називати іменники а ви будете записувати у перший стовпчик іменники...
58709. Урок української літератури з використанням відеозаписів та особистісно орієнтованих технологій 59.5 KB
  Обладнання: портрети Сковороди книжки з його творами відеофільм Григорій Сковорода збірка Сад божественних пісень підручник. Де і коли народився Григорій Сковорода У Чорнухах на Полтавщині 3 грудня 1722 р. Сковорода Хто були його батьки...
58710. Клуб веселых математиков 39.5 KB
  Цель: обобщать и систематизировать знания по математике. Задачи: познакомить с различными видами задач по математике; развивать логическое мышление, внимание, память, наблюдательность, творческие способности...
58711. Здоровые дети – в здоровой семье 49.5 KB
  Оборудование Экран мультимедийный проектор ноутбук Набор цветных кружков красный желтый зеленый для каждого учащегося Ход мероприятия Слайд 1 Всем известно и понятно Что здоровым быть приятно. Слайд 2 Добрый день ребята.
58712. Поговорим об этикете 14.5 KB
  Цели: формирование у школьников этической культуры, дружелюбия и вежливости,уважения и чуткости по отношению к другим людям. Оборудование: сигнальные карточки - синего и красного цветов, иллюстрации.
58713. Умеем ли мы правильно питаться 39.5 KB
  Здравствуйте ребята А вы знаете что когда человек говорит слово здравствуйте он желает человеку здоровья. Помидоры Учитель: Кто догадался о чем пойдет речь на уроке ответы детей Верно ребята мы будем говорить о пользе продуктов.
58714. Національно-визвольна війна українського народу проти Речі Посполитої у 1648-1657 рр. Відродження української держави 71 KB
  Мета: Повторити й узагальнити вивчений матеріал з теми за схемою: передумови - хід подій – результати та змагання з метою систематизації набутих знань. Виховувати у учнів інтерес до навчання, почуття справжнього патріотизму і любові до своєї Вітчизни.