クラスの作成5(オブジェクト型プロパティの設定)
 クラスのオブジェクト型プロパティを作成します。通常、プロパティの設定
はLetステートメントで行いますが、プロパティの型がオブジェクト型である
場合にはSetステートメントを使用します。

 このSetステートメントのプロシージャがないと、不具合が生じます。
Setステートメントを使用する場合はGetステートメントとLetステートメントを
合わせて使用します。ここではExcelのApplicationオブジェクトをクラスの
プロパティとして設定します。

● サンプル ●

クラスモジュールに以下のコードを記述します。

Private objXls As .Application

Public Property Set objExcel(ByRef objExcel As Excel.Application)
    Set objXls = objExcel
End Property

Public Property Get objExcel() As Excel.Application
    Set objExcel = objXls
End Property

Public Property Let objExcel(ByRef objExcel As Excel.Application)
    Set objXls = objExcel
End Property

Public Function Excel_Exe(FileName1)
    objXls.Workbooks.Open FileName:=FileName1
    MsgBox objXls.Worksheets.Count
    objXls.Workbooks.Close
End Function


● 動作確認 ●

モジュールに以下のコードを記述して作成したクラスを呼び出します。
ここでは「d:\商品.xls」のシート数を表示させています。

Sub Class_Sample5()
    Dim xls As Excel.Application
    Dim cls As Class3
    Set xls = New Excel.Application
    Set cls = New Class3

    cls.objExcel = xls
    cls.Excel_Exe ("d:\商品.xls")

    Set xls = Nothing
    Set cls = Nothing
End Sub

(実行結果)
メッセージボックスに「1」が表示されます。

Access97/2000



戻る


Excel Word Access VBA! モーグ