Введение в программирование на VBA - eDrive
Введение в программирование на VBA - eDrive
Введение в программирование на VBA - eDrive
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
52<br />
Типо<strong>в</strong> данных языка Visual Basic обычно х<strong>в</strong>атает, чтобы разделить<br />
<strong>в</strong>сю информацию <strong>на</strong> тексто<strong>в</strong>ые и число<strong>в</strong>ые компоненты. Но этих типо<strong>в</strong><br />
недостаточно при работе с данными, которые требуется сгруппиро<strong>в</strong>ать по<br />
какому-либо приз<strong>на</strong>ку. В таких случаях <strong>на</strong> помощь приходят а<strong>в</strong>торские<br />
соста<strong>в</strong>ные типы данных, конструируемые как комби<strong>на</strong>ции простых типо<strong>в</strong>, и<br />
а<strong>в</strong>торские классы, содержащие данные и процедуры.<br />
Операторами Type и End Type <strong>на</strong>чи<strong>на</strong>ется и за<strong>в</strong>ершается объя<strong>в</strong>ление<br />
а<strong>в</strong>торского типа данных, предста<strong>в</strong>ляемое списком его члено<strong>в</strong>, или полей.<br />
Такие типы объя<strong>в</strong>ляются <strong>в</strong> разделе объя<strong>в</strong>лений модуля. В отличие от<br />
простых типо<strong>в</strong>, память им <strong>в</strong>ыделяется не <strong>в</strong> момент объя<strong>в</strong>ления, а <strong>в</strong> момент<br />
создания переменной, предста<strong>в</strong>ляющей такой тип и <strong>на</strong>зы<strong>в</strong>аемой объектом.<br />
Вызо<strong>в</strong> объекта из различных модулей программы <strong>в</strong>ыполняется <strong>в</strong> формате<br />
Объект.Член, соот<strong>в</strong>етст<strong>в</strong>ующем полному имени чле<strong>на</strong>. Более удобный<br />
способ инициализации члено<strong>в</strong> объекта состоит <strong>в</strong> использо<strong>в</strong>ании<br />
упра<strong>в</strong>ляющей структуры With… End With.<br />
Примеры<br />
Type Мужчи<strong>на</strong><br />
рост As Single<br />
<strong>в</strong>ес As Single<br />
имя As String<br />
<strong>в</strong>озраст As Integer<br />
End Type<br />
Type Женщи<strong>на</strong><br />
ц<strong>в</strong>етВолос As String<br />
ц<strong>в</strong>етГлаз As String<br />
имя As String<br />
рост As Integer<br />
End Type<br />
Sub Люди ()<br />
Dim И<strong>в</strong>ано<strong>в</strong> As Мужчи<strong>на</strong>, Петро<strong>в</strong>а As Женщи<strong>на</strong><br />
И<strong>в</strong>ано<strong>в</strong>.рост = 1.85<br />
Петро<strong>в</strong>а.ц<strong>в</strong>етВолос = "Каштано<strong>в</strong>ый"<br />
MsgBox "Ц<strong>в</strong>ет <strong>в</strong>олос Петро<strong>в</strong>ой " & Петро<strong>в</strong>а.ц<strong>в</strong>етВолос<br />
End Sub<br />
Type Компьютер<br />
процессор As String<br />
частота As Integer<br />
память As Integer<br />
End Type<br />
Sub Характеристики ()<br />
Dim IBMPC As Компьютер<br />
With IBMPC