Информационно-аналитическая система для оформления командировочных документов


Оглавление
Введение
1. ПРОЕКТИРОВАНИЕ ДАННЫХ
1.1 ИСХОДНЫЕ ДАННЫЕ
1.2 СТРУКТУРА БАЗЫ ДАННЫХ
1.3 СВЯЗЬ МЕЖДУ ТАБЛИЦАМИ
2. ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА АЛГОРИТМОВ

2.1 ФОРМА «Список преподавателей»
2.2 ФОРМА «Список командировок»
3. РАЗРАБОТКА ИНТЕРФЕЙСА
3.1 Основная форма
3.2 Форма «Преподаватели»
3.3 Форма «КомандироВки»
4. СПРАВОЧНАЯ СИСТЕМА
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

Введение

Темой данной курсовой работы является разработка информационно-аналитической системы для оформления командировочных документов. Такая программа будет иметь широкий круг организация. Основными информационно-аналитической системы является возможность ведения учета сотрудников фирмы, всех командировок, вывод на печать готовых для командировки документов.

Данная информационно-аналитическая система была создана с помощью редактора Visual Basic в среде пакета Microsoft Excel 2007. Данный пакет выбран для среды разработки за свои качества, такие как :

1. Доступность самого пакета MS Office 2007

2. Благодаря встроенным функциям находить простые решения

3. Программа сама находит ошибки кода и выделяет их.

1. ПРОЕКТИРОВАНИЕ ДАННЫХ

1.1 ИСХОДНЫЕ ДАННЫЕ

Для разработки информационно-аналитической системы была создана рабочая книга Microsoft Excel, содержащая 6 рабочих листов: Преподаватели, Места командировок, Командировки, Лист1, Лист2, Лист3.

Исходная информация находится в таблицах «Преподаватели» (ФИО, Паспорт, Ученая степень, Кафедра, Должность)

«Командировки» (ФИО, паспорт, город, организация, дата начала, дата конца, кафедра, должность, цель)

Таблица «Города» содержит в себе все города России.

1.2 СТРУКТУРА БАЗЫ ДАННЫХ

Первая таблица содержит в себе список всех преподавателей, их паспортные данные, кафедру, учёную степень, занимаемую должность. Имеет поля:

Название поля

Формат

Допустимые значения

ФИО

Текстовый

Текст

Паспорт

Числовой

Число

Уч. степень

Текстовый

Текст

Кафедра

Текстовый

Текст

Должность

Текстовый

текст

Вторая таблица содержит список возможных городов отправки.

Название

Формат

Допустимые значения

Города

Текстовый

Текст

Третья таблица содержит в себе историю командировок всех преподавателей формирующуюся в порядке отправки преподавателя в командировку.

Название

Формат

Допустимые значения

ФИО

Текстовый

Текст

Паспорт

Числовой

Числа

Город

Текстовый

Текст

Организация

Текстовый

Текст

Дата начала

Дата

Числа

Дата конца

Дата

Числа

Кафедра

Текстовый

Текст

Должность

Текстовый

Текст

Цель

Текстовый

Текст

1.3 СВЯЗЬ МЕЖДУ ТАБЛИЦАМИ

Связь между таблицами организуется через форму отправки в командировку

2. ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА АЛГОРИТМОВ

В этой главе будет рассматриваться разработка алгоритмов и программных кодов для различных элементов пользовательских форм информационно-аналитической системы.

Главная форма этой системы открывается автоматически с открытием книги Excel. Так же во время открытия книги автоматически проверяется наличие папки “Командировочные листы для печати”, если же её нет происходит её создание. Это происходит с помощью макроса:

Private Sub Workbook_Open()

If Dir(“C:\Командировочные листы для печати”, vbDirectory) = “” Then

MkDir “C:\Командировочные листы для печати”

End If

UserForm1.Show

End Sub

«Командировочные листы для печати» эта папка является хранилищем готовых к печати документов.

Так же главная форма содержит три кнопки. Кнопка «Начать работу» открывает вторую форму и имеет следующий код :

Private Sub CommandButton1_Click()

Unload UserForm1

UserForm2.Show

End Sub

Кнопка «О программе» выводит форму содержащую информацию о программе и её создателе, имей такой код:

Private Sub CommandButton3_Click()

UserForm7.Show

End Sub

Кнопка «Выход» закрывает данную форму :

Private Sub CommandButton2_Click()

End

End Sub

Как было сказано ранее, нажатием на кнопку «Начать работу» осуществляется вызов второй пользовательской формы Эта форма позволяет непосредственно вызывать формы «Список преподавателей», «Список командировок » и «Назад», нажимая на одноименные кнопки. Кнопка «Назад» служит для закрытия второй формы и возврата на главную, используя код:

Private Sub CommandButton2_Click()

Unload UserForm2

UserForm1.Show

End Sub

2.1 ФОРМА «Список преподавателей»

Эта форма содержит в себе ListBox в который выводится список преподавателей с одноименного листа рабочей книги. Позволяет добавлять, удалять, изменять список. А так же перейти к отправке в командировку или вернуться на прошлую форму. Все эти действия выполняются одноименными кнопками «Добавить работника», «Удалить», «Отправить в командировку», «Закрыть».

Информация о преподавателях содержащаяся на первом листе рабочей книги выводится в Listbox, находящийся на форме. Его заполнение и сортировка списка по фамилии происходят автоматически. Используется следующий код:

Код формы: Private Sub UserForm_Initialize()

`происходит задание ширины столбцов в порядке очереди и заполнение

ListBox1.ColumnWidths = “200;90;80;60;60;80;60;60;200”

i = Sheets(“Преподаватели”).UsedRange. Rows. Count

ListBox1.RowSource = “A2:H” + Trim(Str(i))

`автоматическая сортировка списка по первому столбцу, со второй строки

Range(“A:E”).Sort _

Key1:=Range(“A2”), Order1:=xlAscending, _

Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _

xlTopToBottom, DataOption1:=xlSortNormal

End Sub

Рассмотрим коды следующий кнопок и действий.

Код кнопки добавить и последующий форме.

Этот код выводит одноименную форму содержащую TextBox для добавления в таблицу записи. Подобная система вывода форма выбрана мной для того чтобы основные окна формы не были переполнены различными элементами.

`выводится форма добавления

Private Sub CommandButton4_Click()

Unload UserForm3

UserForm5.Show

End Sub

Данная форма имеет 5 TextBox и 2 CommandButton.

Код кнопки «Добавить»:

Private Sub CommandButton1_Click()

Sheets(“Преподаватели”).Activate

Dim i As Integer

i = Sheets(“Преподаватели”).UsedRange. Rows. Count + 1

Sheets(“Преподаватели”).Cells(i, 1) = TextBox1.Value

Sheets(“Преподаватели”).Cells(i, 2) = TextBox2.Value

Sheets(“Преподаватели”).Cells(i, 3) = TextBox3.Value

Sheets(“Преподаватели”).Cells(i, 4) = TextBox4.Value

Sheets(“Преподаватели”).Cells(i, 5) = TextBox5.Value

MsgBox (“Работник добавлен”)

TextBox1.Value = “”

TextBox2.Value = “”

TextBox3.Value = “”

TextBox4.Value = “”

TextBox5.Value = “”

Exit Sub

Используя присваивание, после нажатия на кнопку «Добавить», введенный текст помещается в первую пустую строчку листа «Преподаватели».

Код кнопки «Выход».

Private Sub CommandButton2_Click()

Unload UserForm5

UserForm3.Show

End Sub

Закрывает форму добавления и возвращает нас на форму «Список преподавателей».

Далее на форме «Список преподавателей» есть кнопка «Удалить».

Её код:

Private Sub CommandButton2_Click()

Worksheets(1).Activate

Dim n As Integer n = 0

n = MsgBox(“Данные будут удалены” & Chr(10) & “Хотите продолжить?”, vbOKCancel, “Удаление”)

If n = 1 Then

i = ListBox1.ListIndex

ActiveSheet. Rows(i + 2).Delete

MsgBox (“Данные удалены”)

Else

MsgBox (“Удаление отменено”)

End If

i = Sheets(“Преподаватели”).UsedRange. Rows. Count

ListBox1.RowSource = “A2:H” + Trim(Str(i))

Unload UserForm3

UserForm3.Show

End Sub

При нажатии на эту кнопку для безопасности данных выводится окно с вопросом о точности ваших намерений. При согласии данные выбранной строки удалятся и список ниже выделенной строки поднимется на строку выше. После чего произойдет обновление списка.

Кнопка «Изменить»

Изменяет выделенную строку в Listbox

Её код:

Private Sub KP1_Click()

Dim i As Integer, j As Integer, s As String, a()

`показываем что необходимо изменить выделенную строку

a = ListBox1.List: i = ListBox1.ListIndex

`количество столбцов в выделенной строке и количество запросов, конечное число ставится на 1 меньше реального количества.

For j = 0 To 4

s = InputBox(“Столбец ” & j + 1, “Введите новые данные”, a(i, j))

Sheets(“Преподаватели”).Cells(i + 2, j + 1) = s

Next

i = Sheets(“Преподаватели”).UsedRange. Rows. Count

ListBox1.RowSource = “A2:H” + Trim(Str(i))

End Sub

Поочередно на экран выводятся запросы с изменением записи в таблице в порядке заполнения. Обновление происходит после закрытия последнего окна.

Кнопка «Отправить в командировку»

Кнопка выводит на экран форму для заполнения:

Private Sub CommandButton5_Click()

Unload UserForm3

`следующая строка добавляет имя выделенной строки в форму отправки, в следствии чего форма данных на данного человека заполняется автоматически

UserForm3.TextBox1.Text = UserForm4.ComboBox1.Text

UserForm4.Show

End Sub

В данной форме мы заполняем данные для составления документа об отправке человека в командировку.

Код формы:

Заполнение двух открывающихся списков происходит с помощью кода:

Private Sub UserForm_Initialize()

`заполнение ComboBox1

i = 2

Do Until Sheets(“Преподаватели”).Cells(i, 1) = Empty

ComboBox1.AddItem Sheets(“Преподаватели”).Cells(i, 1)

i = i + 1

Loop

`заполнение ComboBox2

i = 2

Do Until Sheets(“Места командировок”).Cells(i, 1) = Empty

ComboBox2.AddItem Sheets(“Места командировок”).Cells(i, 1)

i = i + 1

Loop

End Sub

Для ускорения процесса заполнения при выборе преподавателя его данные автоматически заполняют соответствующие текстовые поля.

Для этого используется следующий код:

Private Sub ComboBox1_Click()

If Combo Box1.Text = Sheets(“Преподаватели”). Cells(ComboBox1.ListIndex + 2, 1) Then

TextBox2 = Sheets (“Преподаватели”). Cells(ComboBox1.ListIndex + 2, 4)

End If

If Combo Box1.Text = Sheets(“Преподаватели”). Cells (ComboBox1.ListIndex + 2, 1) Then

TextBox3 = Sheets (“Преподаватели”). Cells (ComboBox1.ListIndex + 2, 3)

End If

If Combo Box1.Text = Sheets(“Преподаватели”). Cells (ComboBox1.ListIndex + 2, 1) Then

TextBox10 = Sheets (“Преподаватели”). Cells(ComboBox1.ListIndex + 2, 2)

End If

If ComboBox1.Text = Sheets(“Преподаватели”). Cells(ComboBox1.ListIndex + 2, 1) Then

TextBox11 = Sheets (“Преподаватели”). Cells(ComboBox1.ListIndex + 2, 5)

End If

End Sub

Текстовые поля с выбором даты связаны с формами на которых находится календари. При нажатии на них пользователю будет выводится удобный календарь. После выбора даты она автоматически будет помещена в текстовое поле с указанном формате.

Для вывода календаря этим текстовым полям присвоен следующий код

Private Sub TextBox6_Enter()

UserForm8.Show

End Sub

Private Sub TextBox7_Enter()

UserForm9.Show

End Sub

А каждому календарю присвоен такой код

`следующий код позволяет добавить в текстовое поле дату при двойном щелчке и закрыть форму

Private Sub Calendar1_DblClick()

UserForm4.TextBox6.Value = Format(Calendar1.Value, “dd. mm. yyyy”)

Unload UserForm8

End Sub

Private Sub Calendar2_DblClick()

UserForm4.TextBox7.Value = Format(Calendar2.Value, “dd. mm. yyyy”)

Unload UserForm9

End Sub

То есть если выбрана первая ячейка какой-то строки, то в каждое из текстовых полей заполняется соответствующими данными этой же строки.

Выбирая город пользователю откроется список всех городов России. Это поле можно изменять.

Код кнопки «Отправить»

Private Sub CommandButton3_Click()

Sheets(“Командировки”).Select

Dim i As Integer

i = Sheets(“Командировки “).UsedRange. Rows. Count + 1

`данные из текстовых полей переносятся в соответствующие ячейки первой пустой строки рабочего листа

Sheets(“Командировки “).Cells(i, 1) = ComboBox1.Value

Sheets(“Командировки “).Cells(i, 2) = TextBox11.Value

Sheets(“Командировки “).Cells(i, 3) = ComboBox2.Value

Sheets(“Командировки “).Cells(i, 4) = TextBox12.Value

Sheets(“Командировки “).Cells(i, 5) = TextBox7.Value

Sheets(“Командировки “).Cells(i, 6) = TextBox6.Value

Sheets(“Командировки “).Cells(i, 7) = TextBox2.Value

Sheets(“Командировки “).Cells(i, 8) = TextBox11.Value

Sheets(“Командировки “).Cells(i, 9) = TextBox9.Value

MsgBox (“Командировка добавлена”)

`текстовые поля очищаются

ComboBox1.Value = “”

TextBox11.Value = “”

ComboBox2.Value = “”

TextBox12.Value = “”

TextBox7.Value = “”

TextBox6.Value = “”

TextBox2.Value = “”

TextBox11.Value = “”

TextBox9.Value = “”

TextBox3.Value = “”

TextBox10.Value = “”

End Sub

На рабочем листе ищется первая пустая строка в которую заносятся данные.

Для удобства сделано две кнопки выхода. Первая позволяет вернуться снова на форму «Преподаватели»

Её код:

Private Sub CommandButton4_Click()

Sheets(“Преподаватели”).Select

Unload UserForm4

UserForm3.Show

End Sub

Вторая позволяет сразу перейти или же вернуться на форму «Список командировок». В зависимости от формы с который была вызвана данная форма.

Её код:

Private Sub CommandButton5_Click()

Sheets(“Командировки”).Select

Unload UserForm4

UserForm6.Show

End Sub

2.2 ФОРМА «Список командировок»

Эта форма содержит в себе ListBox в который выводится список преподавателей с одноименного листа рабочей книги. Позволяет добавлять, изменять, удалять, а также выводить на печать. Для этого используются соответствующие кнопки «Отправить в командировку», «Изменить» , «Удалить», «Печать». Кнопки «Отправить в командировку» и «Удалить» описаны ранее. Поэтому поговорим о кнопках «Изменить» и «Печать».

Код кнопки изменить

Код:

Private Sub CommandButton5_Click()

Dim i As Integer, j As Integer, s As String, a()

a = ListBox1.List: i = ListBox1.ListIndex

For j = 0 To 8

s = InputBox(“Столбец ” & j + 1, “Введите новые данные”, a(i, j))

Sheets(“Командировки”).Cells(i + 2, j + 1) = s

Next

i = Sheets(“Командировки”).UsedRange. Rows. Count

ListBox1.RowSource = “A2:J” + Trim(Str(i))

End Sub

Кнопка «Печать» копирует три бланка для заполнения, то есть Лист1, Лист2,Лист3. Заполняет их, перемещает в новую книгу, а затем сохраняет в рабочую папку с текущей датой и временем. После чего книга закрывается.

Код кнопки «Печать»:

Private Sub CommandButton6_Click()

Sheets(“Лист1”).Select

Sheets(“Лист1”).Copy After:=Sheets(4)

Sheets(“Лист1 (2)”).Range(“C14:I14”) = TextBox1.Value

Sheets(“Лист1 (2)”).Range(“B16:K16”) = TextBox7.Value

Sheets(“Лист1 (2)”).Range(“B18:K18”) = TextBox8.Value

Sheets(“Лист1 (2)”).Range(“D20:K20”) = TextBox3.Value

Sheets(“Лист1 (2)”).Range(“C24:k24”) = TextBox9.Value

Sheets(“Лист1 (2)”).Range(“C30:E30”) = TextBox5.Value

Sheets(“Лист1 (2)”).Range(“G30:I30”) = TextBox6.Value

Sheets(“Лист1 (2)”).Range(“J32:K32”) = TextBox2.Value

Sheets(“Лист2”).Select

Sheets(“Лист2”).Copy After:=Sheets(5)

Sheets(“Лист2 (2)”).Range(“A12:L12”) = TextBox1.Value

Sheets(“Лист2 (2)”).Range(“A20:B20”) = TextBox7.Value

Sheets(“Лист2 (2)”).Range(“C20:D20”) = TextBox8.Value

Sheets(“Лист2 (2)”).Range(“E20”) = TextBox3.Value

Sheets(“Лист2 (2)”).Range(“F20”) = TextBox4.Value

Sheets(“Лист2 (2)”).Range(“G20”) = TextBox5.Value

Sheets(“Лист2 (2)”).Range(“H20”) = TextBox6.Value

`выделяем Лист3, копируем и заполняем его данными.

Sheets(“Лист3”).Select

Sheets(“Лист3”).Copy After:=Sheets(6)

Sheets(“Лист3 (2)”).Range(“A18:H18”) = TextBox1.Value

Sheets(“Лист3 (2)”).Range(“A20:J20”) = TextBox7.Value

Sheets(“Лист3 (2)”).Range(“A22:J22”) = TextBox8.Value

Sheets(“Лист3 (2)”).Range(“A24:J24”) = TextBox3.Value

Sheets(“Лист3 (2)”).Range(“B32:D32”) = TextBox5.Value

Sheets(“Лист3 (2)”).Range(“F32:H32”) = TextBox6.Value

Sheets(“Лист3 (2)”).Range(“B34:J34”) = TextBox9.Value

Sheets(“Лист4”).Select

Sheets(“Лист4”).Copy After:=Sheets(7)

Sheets(“Лист4 (2)”).Range(“G5”) = TextBox3.Value

Sheets(“Лист4 (2)”).Range(“A9”) = TextBox3.Value

`выделяем заполненные листы и перемещаем их в новую рабочую книгу

Sheets(Array(“Лист1 (2)”, “Лист2 (2)”, “Лист3 (2)”, “Лист4 (2)”)).Select

Sheets(Array(“Лист1 (2)”, “Лист2 (2)”, “Лист3 (2)”, “Лист4 (2)”)).Move

`выключаем вывод сообщений пользователю, сохраняем книгу с именем текущей даты, выводим сообщение о месте сохранения.

Application. DisplayAlerts = False

ActiveWorkbook. SaveAs Filename:=”C:\Командировочные листы для печати\” & Format(Now, “dd_mm_yyyy_hh_nn_ss”) & “.xls”, FileFormat:=xlExcel8 _

, Password:=””, WriteResPassword:=””, ReadOnlyRecommended:=False, _

CreateBackup:=False

Application. DisplayAlerts = True

ActiveWorkbook. Close (savechanges = False)

MsgBox (“Бланки для печати сохранены в C:\Командировочные листы для печати\”)

End Sub

Кнопка «Назад» возвращает нас на форму выбора списка.

Код:

Private Sub CommandButton3_Click()

Unload UserForm6

UserForm2.Show

End Sub

3. РАЗРАБОТКА ИНТЕРФЕЙСА

Важную роль в работе любой программы является интерфейс. Графический интерфейса программы позволяет оградить пользователя от ненужного ему программного кода, то есть графический интерфейс позволяет вести диалог пользователя с системой.

Графический интерфейс состоит из набора управляющих элементов который нам предоставляет Visual Basic for Applications входящий в пакет MS Office 2007. В данной курсовой работе будут использоваться ListBox, ComboBox, CommandButton и TextBox.

Графический интерфейс любой информационно-аналитической системы должен быть простым и понятным любому его пользователю. Лёгок в осваивании и приятным внешним видом.

Информационно-аналитическая система состоит из десяти пользовательских форм. Главная форма (начало работы с программой) автоматически запускается при открытии рабочей книги Excel. На форме отображается название приложения и присутствуют 3 кнопки: «Начать», «Выход» и «О программе».

При нажатии на кнопку «О программе» появляется форма, содержащая информацию о том, кто разработал данную информационно-аналитическую систему.

Нажатие кнопки «Начать» вызывает вторую пользовательскую форму, на которой имеется 3 кнопки: «Список преподавателей», «Список командировки» и «Выход». При нажатии на какую-либо из этих трех кнопок выводится форма с соответствующим кнопке названием, содержащая данные из одноименных листов рабочей книги Excel.

Формы «Список преподавателей», «Список командировки» содержат элементы ListBox, CommandButton. Формы добавить для добавления командировки и преподавателя в базу данных содержат ComboBox, TextBox, CommandButton и «Календарь 11.0».

Формы «Справка», «Изменить» содержит элемент Label с текстовым описанием программы и ее разработчика.

Все формы информационно-аналитической системы оформлены изображением указателя на развилке дорог.

3.1 Основная форма

При нажатии на кнопку «Начать работу» вы перейдет на форму выбора рабочей таблицы(«Преподаватели» или «Командировки»)

При нажатии кнопки «О программе» выводится окно справки. Для закрытия которого необходимо нажать кнопку «Закрыть».

Для выхода из программы необходимо нажать кнопку «Выход»

Для запуска программы на листе Преподаватели находится кнопка Старт.

3.2 Форма «Преподаватели»

Форма содержит пять кнопок. Для добавления нового работника необходимо нажать кнопку «Добавить работника» после чего перед вами появится окно для заполнения данных о новом сотруднике :

Лэйблы находящиеся над текстовыми полями являются подсказками, указываю какие данные необходимо занести в какое поле. После ввода данных необходимо нажать кнопку добавить сотрудника, в подтверждение о успешном добавление появится сообщение «Работник добавлен» после чего поля очистятся. Для выхода из этой формы необходимо нажать «Выход»

Для удаления сотрудника необходимо выбрать его в списке и нажать кнопку «Удалить» после чего для безопасности данных выйдет запрос с подтверждением уверенности ваших действий.

Для изменения данных сотрудника необходимо выделить нужного человека в списке и нажать кнопку «Изменить». После чего поочередно на экран будут выводится запросы для введения новых данных(если значение необходимо оставить прежне просто нажмите ОК)

Если вы хотите отправить в командировку преподавателя из списка выделите его и нажмите «Отправить в командировку», данные о нем автоматически заполнят форму с известными о нем данными. Пустые поля необходимо заполнить. Город можно выбрать из списка либо заполнить самому. Для выбора дат необходимо дважды кликнуть по нужной дате в появившемся календаре. После чего нажать на кнопку «Отправить», в подтверждение о успешном выполнение операции выйдет текстовое сообщение после чего поля очистятся.

Для закрытия и перехода на нужную форму нажмите одну из двух кнопок: «Вернуться к списку командировок» или же «Вернуться к списку преподавателей».

3.3 Форма «КомандироВки»

Для отправки человека в командировку нажмите кнопку «Отправить в командировку». Выберете преподавателя и заполните оставшиеся поля после чего нажмите кнопку добавить а затем выберите форму возврата.

Для изменения данных сотрудника необходимо выделить нужного человека в списке и нажать кнопку «Изменить». После чего поочередно на экран будут выводится запросы для введения новых данных(если значение необходимо оставить прежне просто нажмите ОК) Для удаления сотрудника необходимо выбрать его в списке и нажать кнопку «Удалить» после чего для безопасности данных выйдет запрос с подтверждением уверенности ваших действий.

Для возвращение в меню выбора таблицы нажмите кнопку «Назад»

программный аналитический интерфейс справочный

4. СПРАВОЧНАЯ СИСТЕМА

Справочные данные о информационно-аналитической системе можно получить, нажав кнопку «О программе» на главной форме. Окно «О программе» содержит информацию о том, кто разработал данную систему

ЗАКЛЮЧЕНИЕ

Итогом курсовой работы стала информационно-аналитическая система с широким кругом применения. Данная программа может использоваться любой организацией благодаря своим возможностям.

К основным возможностям этой системы можно смело отнести возможность ведения базы данных преподавателей, при этом легко её редактировать добавляя новых, удаляя и редактируя старых преподавателей. Вести учет всем командировкам так же имея возможность изменять и добавлять их.

Главной же особенностью этой системы является её простота. Интерфейс понятен и удобен любому пользователю.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. А. Гарнаев «Самоучитель VBA»

2. Билл Джелен «VBA и макросы в Microsoft Office Excel 2007»

3. Джон Уокенбах «Microsoft Office Excel 2007. Профессиональное программирование на VBA»

4. П. Эйткен «Интенсивный курс программирования в Excel за выходные»

5. С. Роман «Использование макросов в Excel»

6. С. Н. Белоусова, И. А. Бессонова «Основные принципы и концепции программирования на языке VBA в Excel»

7. Сергей Кашаев «Офисные решения с использованием Microsoft Excel 2007 и VBA»

Просмотров: 0