クラスのオブジェクト型プロパティを作成します。通常、プロパティの設定
は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」が表示されます。
|