Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Шпора по объекты, свойства, методы

Dim

Объявление переменной

&

Слияние

Activate

Открытие

Add

Добавить

As

Как, в качестве

Bookmarks(…)

Закладка(номер)

Border

Рамка

Caption

Возвращает текст в строке имени главного  окна по умолчанию

Case

Функция перечисления значений от … и до … Пример: Case 5 To 20, 30 (Перечисление от 5 до 20 и 30)

Cell

Ячейка

Click

Нажатие

Close

Закрытие

Collumbus

Столбец

Collumn

Коллонка

Compute

Вызов

Copy

Копирование

Count

Подсчёт количества/Добавить

Echo

Вывод на экран

Empty

Пустой

Exit

Выход

Find

Искать (поиск)

FindNext

Следуящая запись

FindRecord

Найти запись

Font

Шрифт

Format

Формат

If

Если

Input

Диалог (ввод символов)

InputBox

Окно для ввода диалога

InSide

Внутренний

Integer (%)

Целое значение

Item

Обращение

Length

Числовое значение

Line

Линия

Load

Загрузка

Mod

Остаток

MoveEnd

Вставка в конец

MsgBox

Текстовое сообщение

Next i

Конец цикла

Open

Открытие

OutputAs

Вывести в формате

OutSide

Внешний

Poragraphs

Абзац

Private

Личная переменная

Public

Общая переменная

Quit

Выход

Range

Диапазон

Replacement

Заменить

Row

Строка

Rset

Выравнивание по провому краю

Run

Запуск

Save

Сохранение

Select

Выделить

Selection

Выделение (если стоит в начале, то это уже не действие, а выделенный объект)

SelectObject

Выделить объект

Set

Присвоение переменной какого-либо значения  (ссылка на объект)

Sheet

Лист

Statistics

Статистика

String ($)

Строка

Sub

Подпрограмма

Table

Таблица

Text

Текст

Then

То (тогда)

This

Этот

Title

(Свойство)

TransferText

Преобразовать текст

Unit

Дополнительный элемент

Variant (Var)

Произвольный

Wd

Word'овский символ (документ, функция и т.д.)

Width

Ширина поля ввода

Word

Слово

WorkBook

Рабочая книга

Wrap

Продолжать

 

              Объекты:

           Объект – любая именованная сущность, имеющая свойства, которые можно проверить и изменить, методы, т.е. действия, которые может выполнить объект и события, т.е. ситуации, в которых оказывается объект и на которые можно ответить. Все визуальные объекты, такие как рабочий лист (worksheet), диапазон (Range), диаграмма (Chart), форма (userForm), выделение (selection) являются объектами VBA. В VBA имеется более 100 встроенных объектов.

Переменная – элемент данных программы, которому задано имя.

Dim – оператор объявления переменной или массива.

Объект характеризуется большим количеством свойств, методов и событий.

Свойство – атрибут объекта, определяющий его характеристики (цвет, размер и т.д.).Синтаксис: Объект.Свойство = значение свойства. Например: Range(«A1»).Value = «Параметр»

Метод– действие выполняемое над объектом. Синтаксис: Объект.Метод. Например: Application.Quit

 

              Коллекции:

              Коллекция (объект collection) представляет собой объект, содержащий несколько других объектов, как правило, одного и того же типа. Например, объект workbooks (рабочие книги) содержит все открытые объекты Workbook (рабочая книга). Каждый элемент семейства нумеруется и может быть идентифицирован либо по номеру, либо по имени. Например, worksheets (1) обозначает первый рабочий лист активной книги, a worksheets ("Лист1") — рабочий лист с именем лист1.

Классы:

Важнейшим понятием Объектно-ориентированного программирования является класс. Класс обычно описывается, как проект, на основе которого впоследствии будет создан конкретный объект. Таким образом, класс определяет имя объекта, его свойства и действия, выполняемые над объектом. В свою очередь каждый объект, в соответствии с описанным выше, является экземпляром класса.

Интерфейс редактора VBA:

· Окно проекта;

· Окно свойств;

· Окно редактирования кода;

· Окно форм;

· Меню и панели инструментов.

Встроенные типы данных в VBA:

Тип данных

Размер ( в байтах)

Byte

Boolean

True, False

Integer

Long

Single

Double

Currevcy

Drcimal

Date

Object

String

Variant

 

              Элементы программ:

Лабораторная работа №7(Пояснения не дословные, а лишь отображают функцию каждой строки или нескольких строк программы. Пояснения написаны под поясняемой строкой или группой строк.)Private Sub cmd_Exit_Click()‘подпрограмма cmd_Exit активизируется одним нажатием frm_In.Hide'Скрывая frm_In мы автоматически переходим к frm_MainEnd Sub Private Sub cmd_Rec_Click()‘подпрограмма cmd_Rec активизируется одним нажатием Dim num_Address‘объявление переменной номер адреса num_Address = ActiveSheet.Range("B1") + _   ActiveSheet.Range("B2")‘вычисление номера строки для записи ActiveSheet.Cells(num_Address, 1) = _   ActiveSheet.Range("B1")‘запись номера в первую ячейку строки ActiveSheet.Cells(num_Address, 2) = _   Date‘запись даты во вторую ячейку ActiveSheet.Cells(num_Address, 3) = _   cbo_Type.Value‘запись типа операций в третью ячейку ActiveSheet.Cells(num_Address, 4) = _   Val(txt_Sum)‘запись суммы в четвёртую ячейку ActiveSheet.Cells(num_Address, 5) = _   txt_Info‘запись примечания в пятую ячейку ActiveSheet.Range("B1") = _   ActiveSheet.Range("B1") + 1‘запись нового номера строки Initial‘сброс всех установок на формеEnd Sub Private Sub UserForm_Activate() Initial'При активации формы инициализируются элементы управленияEnd Sub Sub Initial() 'Инициализация элементов управления lbl_Date = Date‘присвоение лейблу значение даты lbl_RecNum = ActiveSheet.Range("B1") cbo_Type.Clear cbo_Type.AddItem "Доход"‘добавление обращения «доход» cbo_Type.AddItem "Расход"‘добавление обращения «расход» cbo_Type.Value = "Доход" txt_Info = "" txt_Sum = ""End Sub

 

Private Sub UserForm_Initialize() Load_Data (1)'Загрузка первой строки (даты)End Sub Private Sub cmd_Backward_Click() If Val(lbl_RecNum) > 1 Then   Load_Data (Val(lbl_RecNum)‘если преобразований лейбла записи больше одного, то загружается предыдущую строку End If‘конец условияEnd Sub Private Sub cmd_Exit_Click() frm_Out.Hide‘при единичном нажатии на кнопку cmd_Exit форма frm_Out закрывается End Sub Private Sub cmd_First_Click() Load_Data (1)‘загрузка первой строки (даты)End Sub Private Sub cmd_Forward_Click() If Val(lbl_RecNum) < ActiveSheet.Range("B1") Then   Load_Data (Val(lbl_RecNum) + 1)‘если преобразований лейбла записи меньше чем диапазон активного листа, то загружается следующая строка End If‘конец условияEnd Sub Private Sub cmd_Last_Click() Load_Data (ActiveSheet.Range("B1") - 1)‘загрузка последней строкиEnd Sub Private Sub cld_First_Click() For i = 1 To ActiveSheet.Range("B1") - 1   If ActiveSheet.Cells _   (i + ActiveSheet.Range("B2"), 2) = _   cld_First.Value Then       Load_Data (i)       Exit For'Просмотр таблицы,поиск первой записи за выбранную дату и вывод этой записи   End If‘конец условия Next iEnd Sub Private Sub cmd_Rec_Click() Dim num_Address 'объявление переменой адрес строки для записи num_Address = Val(lbl_RecNum + _   ActiveSheet.Range("B2")) 'Вычисление номера строки для записи ActiveSheet.Cells(num_Address, 4) = _   Val(txt_Sum) 'Так как мы разрешили модифицировать лишь сумму и примечание - запишем сумму в текущую строку ActiveSheet.Cells(num_Address, 5) = _   txt_Info 'Запись примечания в ячейку активного листа (номер адреса 5)End Sub Sub Load_Data(num_Index As Integer) 'Принимает номер строки и выводит 'Данные из этой строки 'Адрес строки для чтения Dim num_Address 'Вычисляем номер строки для чтения num_Address = num_Index + _   ActiveSheet.Range("B2") lbl_RecNum = _   ActiveSheet.Cells(num_Address, 1)‘вывод номера записи lbl_Date = _   ActiveSheet.Cells(num_Address, 2)‘вывод даты lbl_Type = _   ActiveSheet.Cells(num_Address, 3)‘вывод типа операции txt_Sum = _   ActiveSheet.Cells(num_Address, 4)‘вывод суммы txt_Info = _   ActiveSheet.Cells(num_Address, 5)‘вывод примечания

End Sub

Private Sub cmd_OK_Click() frm_Balance.Hide‘при единичном нажатии на кнопку cmd_OK форма frm_Balanse закрываетсяEnd Sub Private Sub UserForm_Activate() Dim num_Address‘объявление переменной номер адреса Dim num_Earn‘объявление переменной для хранения суммы доходов Dim num_Spend‘объявление переменной для хранения суммы расходов For i = 1 To ActiveSheet.Range("B1") - 1   num_Address = i + ActiveSheet.Range("B2")   'Если в строке хранится значение дохода, то оно добавляется в num_Earn   If ActiveSheet.Cells(num_Address, 3) = "Доход" _            Then           num_Earn = num_Earn + _   'Если в строке хранится значение дохода, то оно добавляется в num_Earn               ActiveSheet.Cells(num_Address, 4)       End If‘конец условия   If ActiveSheet.Cells(num_Address, 3) = "Расход" _       Then           num_Spend = num_Spend + _               ActiveSheet.Cells(num_Address, 4)   'Если в строке хранится значение расхода, то оно добавляется в num_Spend       End If‘конец условия Next i‘конец цикла lbl_Balance = num_Earn - num_Spend‘лейблу lbl_Balance присвоить значение разности расходов от доходов     If num_Earn > num_Spend Then _   lbl_Msg = "Доходы больше расходов."‘если доходы больше расходов, то лейблу lbl_Msg присвоится значение "Доходы больше расходов." If num_Earn = num_Spend Then _   lbl_Msg = "Доходы равны расходам."‘если доходы равны расходам, то лейблу lbl_Msg присвоится значение "Доходы равны расходам." If num_Earn < num_Spend Then _   lbl_Msg = "Доходы меньше расходов."‘если доходыменьше расходов, то лейблу lbl_Msg присвоится значение "Доходы меньше расходов."End Sub Примечание:1)Концовка программы имеет недостаток: при значении суммы расходов большем, чем значение суммы доходов на экран выводится отрицательное значение, что является не корректным. Следует разность расходов от доходов взять под знак модуля.2)При вводе данных о расходах и последующим нажатии на кнопку cmd_Rec (Запись), значение в текстовом поле txt_Type (Тип записи) автоматически переходит в значение доходов, что очень не удобно при многократном вводе данных о расходах. Следует дополнить программу кодом, сохраняющим значение указанное до нажатия на кнопку записи. Лабораторная работа №6(Очень краткие пояснения. Большая часть кода отсутствует.)

Dim i As Double

‘объявление переменной i как двойной

Private Sub UserForm_Activate()

‘создание личной подпрограммы

i = 1

‘задаём переменной I значение 1

Do While Cells(i, 1) > " "

i = i + 1

Loop

txtN.Enabled = True

txtN.Text = CStr(i - 2)

txtN.Enabled = False

‘ Подсчет количества строк в таблице и вывод на форму в поле txtN

End Sub

 

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

(Очень подробные пояснения.)

 

Private Sub CommandButton1_Click()

‘создание личной подпрограммы запускаемой при единичном нажатии на кнопку СommandButton1

Dim B(1 To 2, 1 To 2) As Integer

‘объявление переменной B (от 1 до 2) как целое значение

Dim С(1 To 2, 1 To 2) As Integer

‘объявление переменной С (от 1 до 2) как целое значение

Dim A(1 To 2, 1 To 2) As Integer

‘объявление переменной A (от 1 до 2) как целое значение

B(1, 1)=5

‘переменной В (1,1) присваивается значение 5

B(1, 2)=4

‘пояснение аналогично предыдущему

B(2, 1)=8

B(2, 2)=10

c(1, 1)=0

c(1, 2)=1

c(2, 1)=5

c(2, 2)=10

‘значения переменных A, B и C меняется в соответствии с изменением значений переменных I и j

For i=1 To 2

‘переменная i меняется от 1 до 2

For j=1 To 2

‘переменная j меняется от 1 до 2

A(i, j)=B(i, j) + С(i, j)

‘переменной A(i,J) присваивается значение суммы переменных  B(i,j) и C(i,j)

Next j

Next i

‘конец цыклов

Label1.Caption=«a(1.1)=» & A(1, 1) & « a(1.2)=» & A(1, 2)& « a(2.1)=» & A(2, 1) & « a(2.2)=» & A(2, 2)

‘лейблу Label1 присваиваются значения а(1.1)=А(1,1), числовое значение которых указано выше и объединяются между собой

Label2.Caption=«b(1.1)=» & B(1, 1) & « b(1.2)=» & B(1, 2) & « b(2.1)=» & B(2, 1) & « b(2.2)=» & B(2, 2)

‘пояснение аналогично предыдущему

Label3.Caption=«c(1.1)=» & c(1, 1) & « c(1.2)=» & c(1, 2) & « c(2.1)=» & c(2, 1) & « c(2.2)=» & c(2, 2)

End Sub

‘конец подпрограммы

 

Private Sub CommandButton1_Click()

‘создание личной подпрограммы запускаемой при единичном нажатии на кнопку СommandButton1

Dim B(1 To 2, 1 To 2) As String

‘объявление переменой В (от 1 до 2) как строковую

Dim c(1 To 2, 1 To 2) As String

‘пояснение аналогично предыдущему

Dim A(1 To 2, 1 To 2) As String

Dim d(1 To 2, 1 To 2) As Integer

‘объявление переменной d (от 1 до 2) как целое значение

Dim k(1 To 2, 1 To 2) As Integer

‘пояснение аналогично предыдущему

B(1, 1)=TextBox5.Text

‘переменой B(1,1) в текстовом поле 5 присваивается значение текста

B(1, 2)=TextBox6.Text

B(2, 1)=TextBox7.Text

B(2, 2)=TextBox8.Text

d(1, 1)=Val(TextBox1.Text)

d(1, 2)=Val(TextBox2.Text)

d(2, 1)=Val(TextBox3.Text)

d(2, 2)=Val(TextBox4.Text)

For i=1 To 2

‘переменная i меняется от 1 до 2

For j=1 To 2

‘переменная j меняется от 1 до 2

k(i, j)=d(i, j) + 10

‘переменой k задаётся значение суммы переменной d(i,j) и 10

Next j

Next i

‘конец цыклов

For i=1 To 2

‘значение i меняется от 1 до 2

For j=1 To 2

‘значение j меняется от 1 до 2

c(i, j)=«фамилия» + B(i, j)

‘переменой c задаётся значение фамилии и переменной B(i,j)

Next j

Next i

‘конец цыклов

For i=1 To 2

‘значение i меняется от 1 до 2

For j=1 To 2

‘значение j меняется от 1 до 2

A(i, j)=«работник» + c(i, j)

‘переменной A(i, j) присваивается значение работника и переменной c(i, j)

Next j

Next i

‘конец цыклов

Label3.Caption=«a(1.1)=» & A(1, 1) & « a(1.2)=» & A(1, 2) & « a(2.1)=» & A(2, 1) & « a(2.2)=» & A(2, 2)

‘лейблу Label3 присваиваются значения а(1.1)=А(1,1), числовое значение которых указано выше и объединяются между собой

Label6.Caption=«k(1.1)=» & k(1, 1) & « k(1.2)=» & k(1, 2) & « k(2.1)=» & k(2, 1) & « k(2.2)=» & k(2, 2)

End Sub

‘конец подпрограммы

 

 


Дата публикования: 2023-10-13; Прочитано: 909 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.033 с)...