Скачиваний:
10
Добавлен:
16.04.2021
Размер:
5.77 Mб
Скачать

ГУАП

КАФЕДРА № 41

ОТЧЕТ

ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

ассистент

М. С. Иванова

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №7

ПРОГРАММИРОВАНИЕ СВЯЗЕЙ

по курсу: ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ТЕХНОЛОГИИ

РАБОТУ ВЫПОЛНИЛА

СТУДЕНТКА ГР.

4716

С.А. Янышева

подпись, дата

инициалы, фамилия

Санкт-Петербург

2019

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

ПРОГРАММИРОВАНИЕ СВЯЗЕЙ

Цель работы: изучить возможности взаимодействия приложений Microsoft Office и внедрения одних элементов в другие методами OLE.

  1. Текст индивидуального задания

Вариант 18

  1. Используемые диалоговые окна

Рисунок 1 – Диалоговое окно access

Рисунок 2 – Диалоговое окно word

Рисунок 3 – Диалоговое окно excel

Рисунок 4 – Диалоговое окно visual basic

  1. Программные коды процедур

Задание 1

Лист1

Sub ExportToAccess()

Dim PathOfAccess As String, myFn As String

Dim strConn As String, strSQL As String

Dim cn

PathOfAccess = " D:\учёба\2 с\ИСИТ\7\Database1.accdb"

myFn = ThisWorkbook.FullName

strConn = "Provider=Microsoft.ACE.OLEDB.16.0;" & _

"Data Source=" & PathOfAccess & ";"

'Создание соединения ADODB.Connection

Set cn = CreateObject("ADODB.Connection")

'Открытие канала соединения

cn.Open strConn

'Внедрение SQL-запроса на выборку данных

strSQL = "INSERT INTO table1 select * from [Sheet1$] IN '' " _

& "[Excel 16.0;HDR=YES;IMEX=2;DATABASE=" & myFn & "]"

'Выполняет инструкцию SQL для указанного объекта strSQL

cn.Execute strSQL

End Sub

Задание 2

Лист1

Sub ImportFromAccess()

Dim Rs As Object

Dim strConn As String, strSQL As String

Dim i As Integer

Dim Ws As Worksheet

Dim PathOfAccess As String

'Путь к файлу базы данных

PathOfAccess = " D:\учёба\2 с\ИСИТ\7\table2.1.accdb"

'Создание соединения

strConn = "Provider=Microsoft.ACE.OLEDB.16.0;" & _

"Data Source=" & PathOfAccess & ";"

'Создание объекта Recordset

Set Rs = CreateObject("ADODB.Recordset")

'Внедрение SQL-запроса на выборку данных

strSQL = "SELECT * FROM table2 "

'Открытие канала соединения

Rs.Open strSQL, strConn

'Указание места записи на Активном листе

Set Ws = ActiveSheet

'Условия поиска конца файла EOF

If Not Rs.EOF Then

'начало цикла формирования таблицы в Excel с ячейки A1

With Ws

.Range("a1").CurrentRegion.ClearContents

For i = 0 To Rs.Fields.Count - 1

.Cells(1, i + 1).Value = Rs.Fields(i).Name

Next

.Range("a" & 2).CopyFromRecordset Rs

End With

End If

'Закрытие канала соединения

Rs.Close

'Разрыв соединения

Set Rs = Nothing

End Sub

Задание 3

Module1

Sub Экспорт_в_Word()

Dim WordApp As Object

' Копирование данных Excel

ActiveSheet.Range("A1:E13").Copy

Set WordApp = CreateObject("Word.Application")

With WordApp

.Visible = True ' Запуск приложения Word

.Documents.Add ' Добавление нового документа

.Selection.Paste ' Вставка скопированной области

End With

End Sub

Задание 4

Module1

Sub Word_позднее_связывание()

Dim WordApp As Object

Dim Data As Range, Message As String

Dim Records As Integer, i As Integer

Dim Region As String, SalesAmt As String, SalesNum As String

Dim SaveAsName As String

On Error GoTo ErrorCode

' Создаем объект приложения Word

Set WordApp = VBA.CreateObject("Word.Application")

' Сохраняем информацию с листа

Set Data = Application.ThisWorkbook.Sheets("Продажи").Range("A1")

Message = Application.ThisWorkbook.Sheets("Продажи").Range("ТекстСообщения")

' Подсчет количества записей на листе Sales

Records = Application.WorksheetFunction.CountA(ThisWorkbook.Sheets("Продажи").Range("A:A"))

' Цикл по всем записям на листе Sales

For i = 1 To Records

' Обновление сообщения в строке состояния

Application.StatusBar = "Обрабатывается запись " & i

' Присвоение текущих значений переменным

Region = Data.Cells(i, 1).Value

SalesNum = Data.Cells(i, 2).Value

SalesAmt = Format(Data.Cells(i, 3).Value, "#,000")

' Создание полного имени файла

SaveAsName = Application.DefaultFilePath & "\" & Region & ".docx"

With WordApp

.Documents.Add

With .Selection

.Font.Size = 14

.Font.Bold = True

.ParagraphFormat.Alignment = 1

.TypeText Text:="СООБЩЕНИЕ"

.TypeParagraph

.TypeParagraph

.Font.Size = 12

.ParagraphFormat.Alignment = 0

.Font.Bold = False

.TypeText Text:="ДАТА:" & vbTab & Format(Date, "dd/mm/yyyy")

.TypeParagraph

.TypeText Text:="КОМУ:" & vbTab & " Региональному менеджеру " & Region

.TypeParagraph

.TypeText Text:="ОТ КОГО:" & vbTab & Application.UserName

.TypeParagraph

.TypeParagraph

.TypeText Message

.TypeParagraph

.TypeText Text:="ПРОДАНО:" & vbTab & SalesNum

.TypeParagraph

.TypeText Text:="СУММА:" & vbTab & vbTab & SalesAmt

End With

.ActiveDocument.SaveAs Filename:=SaveAsName

End With

Next i

MsgBox "Создано документов Word " & Records & " и сохранено в " & Application.DefaultFilePath

' Сброс сообщения в строке состояния

Application.StatusBar = ""

' Закрываем приложение Word

WordApp.Quit

' Удаляем объект

Set WordApp = Nothing

' Открытие папки VBA.Shell "explorer.exe " & Application.DefaultFilePath, vbNormalFocus

Exit Sub

ErrorCode:

MsgBox "Что-то пошло не так..." & vbNewLine & Err.Description

' Проверяем, было ли создан объект WordApp

If Not WordApp Is Nothing Then

' Закрываем приложение Word

WordApp.Visible = True

MsgBox "Приложение Word действительно запущено"

WordApp.Quit SaveChanges:=0

' Удаляем объект

Set WordApp = Nothing

End If

End Sub

Задание 5

Module1

Sub Импорт_из_Word()

Dim WordApp As Object

Dim str1 As String

Const strFile As String = "Primer_connection_word.docx"

str1 = ThisWorkbook.Path

' Операции с Word

Set WordApp = CreateObject("Word.Application")

With WordApp

.ChangeFileOpenDirectory str1

.Documents.Open strFile

With .Selection

.WholeStory

.Copy

End With

End With

' Операции с Excel

Workbooks.Add

ActiveSheet.Paste

End Sub

Задание 5

Лист1

Private Sub CommandButton1_Click()

ActiveWorkbook.FollowHyperlink _

Address:="http://new.guap.ru/", _

NewWindow:=True

End Sub

  1. Полученные результаты

Задание 1

Создала таблицу исходных данных в Excel (Рисунок 5), разработала в Access структуру таблицы, аналогично созданной. Написала программный код (Задание 1 Лист1), который создаёт таблицу в Access по данным с Excel. Результат работы представлен на рисунке 6.

Рисунок 5 – Таблица исходных данных в Excel

Рисунок 6 – Полученная таблица в Access

Задание 2

Создала базу данных в Access (рисунок 7). Написала программный код (Задание 2 Лист1), который создаёт таблицу в Excel по данным с Access. Результат работы представлен на рисунке 8.

Рисунок 7 – Таблица исходных данных в Access

Рисунок 8 – Полученная таблица в Excel

Задание 3

Написала программный код (Задание 3 Module1), который создаёт таблицу в Word по данным с Excel. Таблица с исходными данными из Excel представлена на рисунке 9, полученная таблица в word – на рисунке 10.

Рисунок 9 – Исходные данные для экспорта из Excel

Рисунок 10 – Полученная таблица в Word

Задание 4

Создала таблицу, кнопку и сообщение на листе Excel (рисунок 11). Написала программный код (Задание 4 Module1), который создаёт 4 документа в Word (рисунок 12 и 13). Результат работы программы представлен на рисунке 14.

Рисунок 11 – Исходные данные на рабочем листе Excel

Рисунок 12 – Автоматически созданные 4 документа на рабочем столе

Рисунок 13 – Сообщение о созданных документах

Рисунок 14 – Шаблон и текст сгенерированных файлов

Задание 5

Создала документ Word (рисунок 15). Написала программу передачи данных из Word в Excel посредством VBA (Задание 5 Module1). Результат работы представлен на рисунке 16.

Рисунок 15 – Исходный файл Primer_connection_word

Рисунок 16 – Результат передачи данных из Word в Excel

Задание 6

Создала на листе рабочей книги кнопку для управления выходом в Интернет (рисунок 17). Написала текс программы (Задание 5 Лист1). Результат работы программы представлен на рисунке 18.

Рисунок 17 – Кнопка перехода на сайт ГУАПа

Рисунок 18 – Результат работы кнопки

  1. Выводы

Я изучила возможности взаимодействия приложений Microsoft Office и внедрения одних элементов в другие методами OLE. Ознакомилась со всеми видами связей и результатом их работы.

  1. Список используемых источников

  1. Уокенбах Д. Exel 2016. Библия пользователя / Д. Уокенбах. – М.:Вильямс, – 2018. – 1040 с.

  2. Аграновский, А. В. Обработка данных средствами электронных таблиц Microsoft Excel / А.В. Аграновский, Д.М. Ильинская, Е.Л. Турнецкая // Методические указания по выполнению лабораторных работ по курсу «Информационные системы и технологии». – СПб.: ГУАП. – 2016. – 55 с.

  3. Функции Excel [Электронный ресурс]

URL: https://support.office.com/ru-ru/article/Функции-Excel-по-категориям-5f91f4e9-7b42-46d2-9bd1-63f26a86c0eb

Соседние файлы в папке 7лаба 2курс 2сем