Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Топ:
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Интересное:
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Дисциплины:
2020-04-01 | 150 |
5.00
из
|
Заказать работу |
План
Как все начиналось
- QuickBasic против TurboBasic
-Эпоха Visual Basic
-Visual Basic for Applications
Обработка модулей VBA
-Переименование, Удаление, Создание, Добавление, Экспорт, Импорт модулей проекта
- Импорт и экспорт модуля из проекта в проект
- Импорт модуля через экспортируемый файл (а также модулей обычного VB)
- Редакция модуля
- Обработка модулей VBA программно
- Экспорт модуля проекта в файл
- Импорт модуля проекта из файла
- Импорт модуля через организатор (данный код только для Word приложения)
- Вставка новых строк в модуль проекта
- Удаление строк из модуля
- Чтение строк из модуля
- Определение количества строк в модуле
- Переименование модулей проекта
- Удаление модулей проекта
- Определение количества модулей в проекте
- Создание нового модуля проекта
Пос тановка задачи и ее решение
4. Список использованной литературы
Как все начиналось
Язык Basic был разработан профессорами Дартмутского колледжа Дж.Кемени и Т.Курцом в 1965 году как средство обучения и работы непрофессиональных программистов. (Дартмутский колледж в штате Нью-Гампшир, США, был создан в середине 18 века, это одно из старейший высших заведений Америки). Его назначение определено в самом названии, которое является аббревиатурой слов Beginner's All-purpose Symbolic Instruction Code (многоцелевой язык символических инструкций для начинающих) и при этом в дословном переводе означает "базовый".
Примечание. Раньше языки программирования писались обязательно строчными буквами — BASIC, FORTRAN. В 1990 году Международная организация стандартов приняла решения, что они пишутся как обычные имена собственные — строчной является только первая буква.
Однако парадокс заключается в том, что, будучи действительно весьма простым средством программирования, совершенно непригодным в те времена для решения серьезных задач, Basic представлял собой качественно новую технологию создания программ в режиме интерактивного диалога между разработчиком и компьютером. То есть представлял собой прообраз современных систем программирования. Другое дело, что решение подобной задачи на технике тех лет было возможно только за счет максимального упрощения языка программирования и использования транслятора типа "интерпретатор".
В силу этих же причин Basic в основном применялся на мини - и микроЭВМ, которые в 70-е годы имели оперативную память, объем которой кажется сегодня просто нереальным (4-32 тысяч байт). Резкое развитие систем на основе Basic началось с появлением в начале 80-х годов персональных компьютеров, производительность и популярность которых растет вот уже двадцать лет невиданными темпами.
Эпоха Visual Basic
В начале 90-х годов Microsoft начала активную борьбу за продвижение в массы своей новой операционной системы Windows (против своей же, но более уже устаревающей MS-DOS). Но, как известно, пользователи работают не с ОС, а с программами, которые работают в нее среде. Поэтому скорость смены платформы в основном определяется темпами появления соответствующих прикладных программ.
Однако смена операционных систем представляет серьезную проблему и для программистов, так как им нужно было осваивать новую технологию разработки программ. В тот момент бытующим (и в значительной степени, совершенно справедливым) мнением было то, что Windows предъявляет более высокие требования к квалификации программиста.
В 1991 году под лозунгом "теперь и начинающие программисты могут легко создавать приложения для Windows" появилась первая версия нового инструментального средства Microsoft Visual Basic. В тот момент Microsoft достаточно скромно оценивала возможности этой системы, ориентируя ее, прежде всего, на категорию начинающих и непрофессиональных программистов. Основной задачей тогда было выпустить на рынок простой и удобный инструмент разработки в тогда еще довольно новой среде Windows, программирование в которой представляло проблему и для опытных специалистов.
Действительно, VB 1.0 в тот момент был больше похож не на рабочий инструмент, а на действующий макет будущей среды разработки. Его принципиальное новшество заключалось в реализации идей событийно-управляемого и визуального программирования в среде Windows, которые весьма радикально отличались от классических схем разработки программ. По общему признанию VB стал родоначальником нового поколения инструментов, называемых сегодня средствами быстрой разработки программ (Rapid Application Development, RAD). Сегодня эта идеология считает привычной, но тогда она казалась совершенно необычной и создавала серьезные проблемы (в том числе чисто психологического плана) для программистов "старых времен".
Тем не менее, число VB-пользователей росло, причем во многом за счет огромной популярности ее предшественника — QuickBasic. При этом VB быстро "мужал", усиливаясь за счет, как развития среды программирования, так и включения профессиональных элементов языка и проблемно-ориентированных средств. И к моменту выпуска в 1995 году VB 4.0 эта система была уже признанным и одним из самых распространенных инструментов создания широкого класса приложений. В настоящее время используется версия VB 6.0, появление версии 7.0 ожидается в начале следующего года.
Обработка модулей VBA
Проект – Файл приложения Microsoft Office, в котором написана программа VBA
Приложение – Приложение Microsoft Office (Word, Excel, Access, Power Point и др.)
Модуль – Именованная область в файле проекта содержащая в себе код, написанный на языке VBA
Окно проекта – “дерево”, содержащее на себе все “деревья” загруженных проектов, “дерево” состоит из имен модулей.
Редактор VBA – редактор встроенный внутри приложения, позволяющий писать и редактировать программы на языке VBA.
Для перехода в редактор VBA можно воспользоваться пунктами меню: Сервис-Макросы-Редактор Visual Basic (Рис.1) (В Access выбрать закладку модулей или форм, выбрать мышью нужный объект, зайти в меню: Вид-Программа)
Для открытия окна проекта, необходимо воспользоваться пунктами меню редактора VBA: Вид-Дерево проекта
Двойным кликом мыши по папке с именами модулей можно открыть ее.
Двойным кликом мыши по имени модуля, можно активизировать окно редактора нужного вам модуля.
Рис 1 Редактор VBA (слева дерево проекта, активизирован редактор модуля 1, который виден в правой части окна VBA)
Примечание: В Access модули можно обрабатывать, не заходя в редактор VBA, выбрав закладку Модули. В Access 1997 модули обрабатываются только через закладку Модули, т.к. окна проекта в этой версии Access не существует.
Импорт модуля через экспортируемый файл (а также модулей обычного VB)
Для пересылки модуля из проекта в проект можно воспользоваться следующим приемом:
1. Экспортировать модуль из проекта в файл (в редакторе VBA нажать правую клавишу мыши на дереве проекта, на имени модуля, и выбрать пункт “Экспорт файла”)
2. Импортировать модуль из файла в проект (данный файл может являться не только экспортируемым файлом из VBA приложения, но и быть модулем обычного VB)
В редакторе VBA нажать правую клавишу мыши на дереве проекта, на имени файла, и выбрать пункт “Экспорт файла”
.
Редакция модуля
1. В редакторе VBA кликнуть в окне проекта два раза по имени нужного нам модуля (см. рис 1)(В Access выбрать закладку Модули и имя соответствующего модуля, войти в меню Вид-Программа.).
2. Перейти в активизированное окно редактора модуля (справа от окна проекта) и редактировать его.
3. Из верхнего левого списка, расположенного вверху окна редактора модуля, можно выбирать либо раздел описания, либо имя нужной вам подпрограммы (В модуле Форм, Листов Excel, Книги Excel, Документа Word и т.п. из верхнего правого списка можно выбрать Общую Область, либо имя объекта (Листа, Книги, Документа и т.п.), либо имя элемента управления (который находится на соответствующем Листе, Книге, Документе и т.п.), при выбранном объекте, из правого списка выбирается имя события, для того, что бы активизировать соответствующую событийную процедуру объекта или элемента управления).
Удаление строк из модуля
ИмяПроекта..VBProject.VBComponents.Item("Имя модуля").CodeModule.DeleteLines(№,Количество)Где
№ - Номер строки в модуле с которой будут удаляться строки
Количество – количество удаляемых строк
Чтение строк из модуля
ИмяПроекта.VBProject.VBComponents.Item("Имя модуля").CodeModule.Lines(№,Количество)Где
№ - Номер строки, в модуле с которой будут начинаться чтение строк
Количество – количество читаемых строк
Удаление модулей проекта
ИмяПроекта.VBProject.VBComponents.Remove _ ИмяПроекта.VBProject.VBComponents.Item("ИмяМодуля")Option Explicit
Const m = 15
Dim i, j, k As Integer
Public Obr As Byte
Dim Bukva As Variant
Dim det, s, x As Double
Public объявляет глобальную переменную. Объявлённая таким способом переменная становится доступной из всех модулей и форм проекта. Если переменная объявлена в разделе глобальных объявлений, то доступ к ней осуществляется просто по её имени. Если же она объявлена в коде формы, то доступ к ней из других форм и модулей осуществляется так: ИмяФормы. ИмяПеременной.
Sub ButtonCancel_Click()
Sheet1.OptionButton1.Select
Cng_List (False)
End Sub
Sub объявляет процедуру с именем name и параметрами arglist.
Public Sub Obrabotka()
Obr = Sheet1.ListBox1.ListIndex + 1
n = Sheet2.Range("R2")
If Obr > 0 Then
Select Case Obr
Case 1 ' Среднее значение по строкам
Call rab1(n)
Case 2 ' среднее значение по столбцам
Call rab2(n)
Case 3 ' min по строкам
Call rab3(n)
Case 4 ' min по столбцам
Call rab4(n)
Case 5 ' max по строкам
Call rab5(n)
Case 6 ' max по столбцам
Call rab6(n)
End Select
End If
End Sub
Здесь мы, соответственно, объявляем глобальную процедуру вида обработки. В данном случае это подсчет средних, максимальных, и минимальных элементов матрицы по столбцам и строкам
Call - Вызывает процедуру или функцию. Оператор Call может быть опущен.
Далее…
Sub ButtonOK_Click()
If Sheet1.OptionButton1.Value = True Then
'Ввод матрицы с клавиатуры в файл
Met1:
inp = InputBox"Введите размерность матрицы А", "Ввод размерности", "testfile" - выводит окно с запросом на ввод значения. Параметры такие же, как и у функции MsgBox.
n = Val(inp)- Превращает строку в число
If (n > 0) And (n <= 15) And (n - Int(n) = 0) Then
Sheet2.Visible = xlSheetVisible
Sheet2.Activate
Sheet2.Range("L2") = Str(n) + "*" + Str(n)
Sheet2.Range("R2") = n
InitS
Sheet2.Range("H3") = "Введите элементы матрицы, начиная с активной ячейки A4"
Else
If inp <> "" Then
MsgBox "Ошибка ввода размерности"- - Выводит на экран окно сообщения (Message Box) которое будет ждать клика на одной из кнопок. Возвращает число Integer, по которому можно определить какую кнопку нажал пользователь.
GoTo Met1- оператор для перехода на определённую метку
End If
End If
End If
If Sheet1.OptionButton2.Value = True Then
' Ввод матрицы из файла
Open "C:\file1" For Input As #2 - открывает файл для чтения, записи или для произвольного доступа.
Input #2, n
Sheet3.Visible = xlSheetVisible
Sheet3.Activate
' Sheet3.Range("M2") = Str(n) + "*" + Str(n)
Sheet3.Range("R2") = n
Call InitS – вызов функции InitS
For i = 1 To n
For j = 1 To n
Input #2, A(i, j)
Sheet3.Cells(i + 3, j) = A(i, j)
Next j
Next i
Close #2 - Закрывает файл, открытый оператором Open под номером 2.
MsgBox ("Матрица А прочитана из файла ")
End If
If Sheet1.OptionButton3.Value = True Then
'Заполнение тестового значения
Randomize - Инициализирует генератор случайных чисел. Если этот оператор не поместить перед функцией Rnd, то при каждом запуске приложения будут генерироваться одни и те же случайные числа.
For i = 1 To n
For j = 1 To n
A(i, j) = 20 * Rnd() - 10 - Возвращает Single значение, содержащее случайное число от 0 до 1.
Next j
Next i
Sheet3.Cells(3, 2) = " Матрица заполнена случайными тестовыми значениями "
For i = 1 To n
For j = 1 To n
Sheet3.Cells(i + 3, j) = A(i, j)
Next j
Next i
MsgBox ("Матрица А заполнена тестовыми значения (случайными числами)")
End If
If Sheet1.OptionButton4.Value = True Then
'Выбор обработки
Call Obrabotka – вызываем функцию «обработка».
End If
End Sub
В этой конструкции некоторые операторы выполняются только при условии, содержащееся в конструкции логическое выражение имеет значение True (истинно):
If Логическое_выражение Then Оператор
или сложнее
If Логическое_выражение Then
Группа_операторов
End If
В первом случает оператор может быть только один. Во втором сколько угодно (в том числе и один).
Далее…
Sub Cng_List(par As Boolean)
If par Then 'Активное
Sheet1.ListBox1.ForeColor = &H80000007
Sheet1.ListBox1.Enabled = True
Else 'Неактивное
Sheet1.ListBox1.ForeColor = &H80000013
Sheet1.ListBox1.Enabled = False
End If
End Sub
ListBox1 – элемент управления, префикс lst (При именовании элементов управления рекомендуется следовать стандартным соглашениям именования пользовательского интерфейса и элементов управления. Это позволяет упростить чтение и отладку программного кода. В именах элементов управления удобно проставлять префикс, однозначно указывающий на тип (класс) этого объекта.)
Sub Init()
Cng_List (False)
n = 0
For i = 1 To m
For j = 1 To m
A(i, j) = 0
Next j
Next i
Sheet2.Visible = xlSheetHidden
Sheet3.Visible = xlSheetHidden
End Sub
Sub InitS()
For i = 1 To m + 2
For j = 1 To m
ActiveSheet.Cells(i + 2, j) = ""
Next j
Next i
End Sub
Sub Button3_Click() ' ОК
n = Sheet2.Range("R2")
Open "C:\file1" For Output As #1
Write #1, n
For i = 1 To n
For j = 1 To n
If Sheet2.Cells(i + 3, j) = "" Then
A(i, j) = 0
Else
A(i, j) = Sheet2.Cells(i + 3, j)
End If
Write #1, A(i, j)
Next j
Next i
Close #1
MsgBox ("Матрица A записана в файл file1")
Call InitS
Sheet2.Visible = xlSheetVisible
Sheet1.Activate
Call Init
End Sub
Sub Button4_Click() ' Отмена
Sheet2.Visible = xlSheetVisible
Call InitS
Sheet1.Activate
Call Init
End Sub
Sub Button5_Click()
Call InitS
Sheet3.Visible = xlSheetVisible
Sheet1.Activate
Call Init
End Sub
Sub OutA() ' Вывод результата на экран
For i = 1 To n
For j = 1 To n
Sheet4.Cells(i + 3, j) = A(i, j)
Next j
Next i
MsgBox
End Sub
Sub getA() ' ввод матрицы из файла
For i = 1 To n
For j = 1 To n
If Sheet3.Visible = xlSheetHidden Then
MsgBox ("Введите матрицу А из файла ")
Else
If Sheet3.Cells(i + 3, j) = "" Then
A(i, j) = 0 ' заполнение матрицы с клавиатуры
Else
A(i, j) = Sheet3.Cells(i + 3, j)
End If
End If
Next j
Next i
End Sub
Создание кнопок ОК, ОТМЕНА, заполнение матрицы в файл, а также вывод результатов на экран.
И, наконец, с помощью функции rab, мы проделываем все виды обработки.
Sub rab1(n As Variant)
Call getA
Sheet4.Activate
Call InitS
Sheet4.Range("H3") = "Среднее значение элементов по строкам"
Sheet4.Range("G4") = "Строка "
Sheet4.Range("I4") = "Xcp"
For i = 1 To n
s = 0
Sheet4.Cells(i + 4, 7) = i
For j = 1 To n
s = s + A(i, j)
Next j
s = s / n
Sheet4.Cells(i + 4, 9) = s
Next i
End Sub
Sub rab2(n As Variant)
Call getA
Sheet4.Activate
Call InitS
Sheet4.Range("H3") = "Среднее значение элементов по столбцу"
Sheet4.Range("G4") = "Столбец "
Sheet4.Range("I4") = "Xcp"
For j = 1 To n
s = 0
Sheet4.Cells(j + 4, 7) = j
For i = 1 To n
s = s + A(i, j)
Next i
s = s / n
Sheet4.Cells(j + 4, 9) = s
Next j
End Sub
Sub rab3(n As Variant)
Call getA
Sheet4.Activate
Call InitS
Sheet4.Range("H3") = " Min элементы в строках"
Sheet4.Range("G4") = "Строка "
Sheet4.Range("I4") = "Min"
For i = 1 To n
x = A(i, 1) 'min
Sheet4.Cells(i + 4, 7) = i
For j = 2 To n
If x > A(i, j) Then
x = A(i, j)
End If
Next j
Sheet4.Cells(i + 4, 9) = x
Next i
End Sub
Sub rab4(n As Variant)
Call getA
Sheet4.Activate
Call InitS
Sheet4.Range("H3") = "Min элементы по столбцам"
Sheet4.Range("G4") = "Столбец "
Sheet4.Range("I4") = "Min"
For j = 1 To n
x = A(1, j) 'min
Sheet4.Cells(j + 4, 7) = j
For i = 2 To n
If x > A(i, j) Then
x = A(i, j)
End If
Next i
Sheet4.Cells(j + 4, 9) = x
Next j
End Sub
Sub rab5(n As Variant)
Call getA
Sheet4.Activate
Call InitS
Sheet4.Range("H3") = "Max элементы по строкам"
Sheet4.Range("G4") = "Строка "
Sheet4.Range("H4") = "Max"
For i = 1 To n
s = A(i, 1) 'max
Sheet4.Cells(i + 4, 7) = i
For j = 2 To n
If s < A(i, j) Then
s = A(i, j)
End If
Next j
Sheet4.Cells(i + 4, 9) = s
Next i
End Sub
Sub rab6(n As Variant)
Call getA
Sheet4.Activate
Call InitS
Sheet4.Range("H3") = "Max элементы по
столбцам"
Sheet4.Range("G4") = "Столбец "
Sheet4.Range("H4") = "Max"
For j = 1 To n
s = A(1, j) 'max
Sheet4.Cells(j + 4, 7) = j
For i = 2 To n
If s < A(i, j) Then
s = A(i, j)
End If
Next i
Sheet4.Cells(j + 4, 9) = s
Next j
End Sub
Список использованной литературы
· А.Васильев, А.Андреев. VBA в Office 2000. Учебный курс. С-Пб.: "Питер", 2001
· Биллиг В.А. Средства разработки VBA-программиста. Офисное программирование. Том 1. М.: Издательско-торговый дом "Русская Редакция", 2001.
· Биллиг В.А. Мир объектов Excel 2000. М.: Издательско-торговый дом "Русская Редакция", 2001.
· В. И. Король. Visual Basic 6.0, Visual Basic for Applications 6.0. Язык программирования. Справочник с примерами. М.: Издательство КУДИЦ, 2000.
План
Как все начиналось
- QuickBasic против TurboBasic
-Эпоха Visual Basic
-Visual Basic for Applications
Обработка модулей VBA
-Переименование, Удаление, Создание, Добавление, Экспорт, Импорт модулей проекта
- Импорт и экспорт модуля из проекта в проект
- Импорт модуля через экспортируемый файл (а также модулей обычного VB)
- Редакция модуля
- Обработка модулей VBA программно
- Экспорт модуля проекта в файл
- Импорт модуля проекта из файла
- Импорт модуля через организатор (данный код только для Word приложения)
- Вставка новых строк в модуль проекта
- Удаление строк из модуля
- Чтение строк из модуля
- Определение количества строк в модуле
- Переименование модулей проекта
- Удаление модулей проекта
- Определение количества модулей в проекте
- Создание нового модуля проекта
Пос тановка задачи и ее решение
4. Список использованной литературы
Как все начиналось
Язык Basic был разработан профессорами Дартмутского колледжа Дж.Кемени и Т.Курцом в 1965 году как средство обучения и работы непрофессиональных программистов. (Дартмутский колледж в штате Нью-Гампшир, США, был создан в середине 18 века, это одно из старейший высших заведений Америки). Его назначение определено в самом названии, которое является аббревиатурой слов Beginner's All-purpose Symbolic Instruction Code (многоцелевой язык символических инструкций для начинающих) и при этом в дословном переводе означает "базовый".
Примечание. Раньше языки программирования писались обязательно строчными буквами — BASIC, FORTRAN. В 1990 году Международная организация стандартов приняла решения, что они пишутся как обычные имена собственные — строчной является только первая буква.
Однако парадокс заключается в том, что, будучи действительно весьма простым средством программирования, совершенно непригодным в те времена для решения серьезных задач, Basic представлял собой качественно новую технологию создания программ в режиме интерактивного диалога между разработчиком и компьютером. То есть представлял собой прообраз современных систем программирования. Другое дело, что решение подобной задачи на технике тех лет было возможно только за счет максимального упрощения языка программирования и использования транслятора типа "интерпретатор".
В силу этих же причин Basic в основном применялся на мини - и микроЭВМ, которые в 70-е годы имели оперативную память, объем которой кажется сегодня просто нереальным (4-32 тысяч байт). Резкое развитие систем на основе Basic началось с появлением в начале 80-х годов персональных компьютеров, производительность и популярность которых растет вот уже двадцать лет невиданными темпами.
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!