06.01.2015 Views

Введение в программирование на VBA - eDrive

Введение в программирование на VBA - eDrive

Введение в программирование на VBA - eDrive

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!