For j = 1 To 2
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) 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
Рис. 24. Форма примера 11 в режиме конструктора и в рабочем состоянии
Рис. 25. Форма примера 12 в режиме конструктора
Рис. 26. Форма примера 12 в рабочем режиме
Листинг примера 12
Private Sub CommandButton1_Click()
Dim B(1 To 2, 1 To 2) As String
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
Dim k(1 To 2, 1 To 2) As Integer
B(1, 1) = TextBox5.Text
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
For j = 1 To 2
k(i, j) = d(i, j) + 10
Next j
Next i
For i = 1 To 2
For j = 1 To 2
c(i, j) = «фамилия» + B(i, j)
Next j
Next i
For i = 1 To 2
For j = 1 To 2
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)
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
3.2. Работа с различными типами данных
VBA позволяет пользователю определять свои собственные типы данных. Определенный пользователем тип нужен, когда одной переменной необходимо обозначить несколько связанных по смыслу элементов данных, причем эти элементы данных могут быть разных типов. Пример структурного типа приведен на рис. 27. Тип Book состоит из трех элементов:
Рис. 27. Пример структурного типа, определяемый пользователем
Для объявления такого типа данных используется оператор Туре:
Туре <имяТипа>
…<имяЭлемента1> [([<размер1>])] As <типДанных1>
…<имяЭлемента2> [([<размер2>])] As <типДанных2>
End Туре
Элементами типа могут быть простые переменные и массивы встроенных типов, а также переменные и массивы других определенных пользователем типов. Типы Book и Person (см. рис. 27) могут быть объявлены следующим образом:
Type Person
Name As String
Birthday As Date
End Type
Type Book
author As Person
Title As String
Content () as String
End Type
Объявление переменных структурного типа выполняется так же, как и обычных переменных:
Dim MyBook As Book, Editor As Person
Обращение к элементу структурного типа выполняется следующим образом:
MyBook.Title = «Учебник»
ReDim MyBook.Content (0 to 10)
MyBook.Content(0) = «От автора»
Еще одним видом структурного типа данных является
Enum <имяТипа> <имяЗначения1> [=<Константа>] <имяЗначения2>
[=<Константа>]