
7лаба 2курс 2сем / 7
.docxГУАП
КАФЕДРА № 41
ОТЧЕТ
ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
ассистент |
|
|
|
М. С. Иванова |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №7 |
ПРОГРАММИРОВАНИЕ СВЯЗЕЙ |
по курсу: ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ТЕХНОЛОГИИ |
|
|
РАБОТУ ВЫПОЛНИЛА
СТУДЕНТКА ГР. |
4716 |
|
|
|
С.А. Янышева |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург
2019
Лабораторная работа № 7
ПРОГРАММИРОВАНИЕ СВЯЗЕЙ
Цель работы: изучить возможности взаимодействия приложений Microsoft Office и внедрения одних элементов в другие методами OLE.
Текст индивидуального задания
Вариант 18
Используемые диалоговые окна
Рисунок 1 – Диалоговое окно access
Рисунок
2 – Диалоговое окно word
Рисунок 3 – Диалоговое окно excel
Рисунок 4 – Диалоговое окно visual basic
Программные коды процедур
Задание 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
Создала
таблицу исходных данных в 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 – Результат работы кнопки
Выводы
Я изучила возможности взаимодействия приложений Microsoft Office и внедрения одних элементов в другие методами OLE. Ознакомилась со всеми видами связей и результатом их работы.
Список используемых источников
Уокенбах Д. Exel 2016. Библия пользователя / Д. Уокенбах. – М.:Вильямс, – 2018. – 1040 с.
Аграновский, А. В. Обработка данных средствами электронных таблиц Microsoft Excel / А.В. Аграновский, Д.М. Ильинская, Е.Л. Турнецкая // Методические указания по выполнению лабораторных работ по курсу «Информационные системы и технологии». – СПб.: ГУАП. – 2016. – 55 с.
Функции Excel [Электронный ресурс]
URL: https://support.office.com/ru-ru/article/Функции-Excel-по-категориям-5f91f4e9-7b42-46d2-9bd1-63f26a86c0eb