13290

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

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

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

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

Русский

2013-05-11

101.5 KB

21 чел.

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.  

 

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

53839. Космічна мандрівка. Відкритий урок у початковій школі. Інтегрований урок з природознавства і математики (4 клас) 63.5 KB
  Це найближча до Сонця планета її відстань до Сонця змінюється від 46 до 70 млн. Це найшвидша планета адже за рік вона оббігає навколо Сонця аж 4рази. А дізнатися що ближче до Сонця: Земля чи Меркурій і на скільки ви зможете розв’язавши задачу: Відстань від Сонця до Землі в средньому 150 млн.км а від Сонця до Меркурія 58 млн.
53840. Закрепление изученного материала. Сложение и вычитание в пределах 100 43.5 KB
  Оборудование: Интерактивная доска презентация учебник цепочка чисел. 9 7 = 16 о 30 4 = 34 а 60 20 = 80 у 70 – 1 = 69 б 12 – 7 = 5 р 28 – 20 = 8 и 96 1 = 97 т 8 6 = 14 н Чему равна сумма чисел 9 и 7 16 Чему равна сумма чисел 60 и 20 80 Чему равна разность чисел 12 и 7 5 Чему равна сумма чисел 96 и 1 97...
53841. Адресовані людям вірші – найщиріший у світі лист, присвяченої творчості Ліни Костенко 108.5 KB
  Обладнання: мультимедійна апаратура портрет Ліни Костенко виставка книг поетеси плакати з висловами: Не забувайте незабутнє І не знецінюйте коштовне Не загубіться у юрбі. Костенко Не бійся прикрого рядка Прозрінь не бійсябо вони як піки Не бійся правди хоч яка гірка Не бійся смутків хоч вони як ріки. Костенко Творчість Ліни Костенко – приклад шляхетного служіння поезії.
53842. Анализ финансово-хозяйственной деятельности предприятия, классификация задач анализа 28.5 KB
  Анализ финансово-хозяйственную деятельность предприятия входит в число основных направлений деятельности финансового менеджера. Он формирует объективную основу успешного управления финансами организации.
53843. Коти – пухнасті улюбленці людей. Історія одомашнювання кішки. Породи котів 150.5 KB
  Історія одомашнювання кішки. Кішки Діти а у кого дома є кішечка або котик Розповіді дітей про своїх улюбленців. Історичні відомості з одомашнювання кішки розповідь учителя. Діти а чи знаєте ви що протягом багатьох століть кішки вважалися тваринами загадковими таємничими повязаними з надприродними силами.
53844. Сценарій виховного заходу за темою: «Наша мрія крилата – стати справжніми козачатами» 72 KB
  Не сумуйте гори й ріки Не журиться мами: Коли виростем великі – Будем козаками Приспів: Гей хто любить Наш козацький край З нами разом Козаком ставай Хлопець: Мамо моя За час за годину Свиснуть кулі заграють гармати. Звучить пісня Гей на горі та й женці жнуть. Для присяги звучить пісня Гей там на горі Січ іде: Гей там на горі Січ іде. Гей малиновий стяг несе.
53845. КОЗАЦЬКОМУ РОДУ – НЕМА ПЕРЕВОДУ 67 KB
  Карта козаків Козацька вікторина. Але підростають достойні нащадки козаків. А чи ж були у козаків скрині Дійсно кожному відомо що у козаків насамперед був кінь стрімкий шабля гостра шаровари червоного кольору А що ще ви знаєте про козаків Давайте – но пригадаємо історію Сьогодні ми станемо свідками Козацьких розваг між двома курінями козаків і козачок. Отже зустрічаємо наших сильних вихованих розумних чесних козаків та приголомшливо прекрасних чарівних спокусливих козачок Знайомство команд.
53846. Доба героїчних походів козаків. Петро Конашевич-Сагайдачний 116.5 KB
  Доба героїчних походів козаків. Мета: розглянути напрями морських походів козаків; охарактеризувати діяльність гетьмана П. Актуалізація опорних знань учнів: фронтальна бесіда: Про кого ми вивчаємо у 8класі про козаків; Хто такі козаки Які причини виникнення козацтва З ким воювали козаки поляками турками ІІІ. План Доба героїчних походів козаків.
53847. Козацькому роду нема переводу (конкурс-змагання 2-х команд) 3-і класи 47.5 KB
  Складемо Присягу юних козачат Бути чесним і сміливим Присягаємось Боронити справедливість Присягаємось Цінувати побратимство Присягаємось Шанувати всі народи Присягаємось І плекати рідну мову Присягаємось Щоб козацькому роду не було переводу. Присягаємось на вірність Вітчизні й народу. Присягаємось Присягаємось Присягаємось Журі підводить підсумки.