Class Module

Group: Declaration

Description:
A class module implements an ActiveX Automation object.

• Has a set of Public procedures accessible from other macros and modules.

• These public symbols are accessed via an object variable.

• Public Consts, Types, arrays, fixed length strings are not allowed.

• A class module is similar to a object module except that no instance is automatically created.

• To create an instance use:

Dim Obj As classname

Set Obj = New classname

See Also: Code Module, Object Module, Uses.

Example:


'A.WWB

'#Uses "File.CLS"

Sub Main

Dim File As New File

File.Attach "C:\AUTOEXEC.BAT"

Debug.Print File.ReadLine

End Sub

 

'File.CLS

'File|New Module|Class Module

'Edit|Properties|Name=File

Option Explicit

Dim FN As Integer

Public Sub Attach(FileName As String)

FN = FreeFile

Open FileName For Input As #FN

End Sub

Public Sub Detach()

If FN <> 0 Then Close #FN

FN = 0

End Sub

Public Function ReadLine() As String

Line Input #FN,ReadLine

End Function

 

Private Sub Class_Initialize()

Debug.Print "Class_Initialize"

End Sub

 

Private Sub Class_Terminate()

Debug.Print "Class_Terminate"

Detach

End Sub