目次

howto:excel:クラスモジュールを生成できない

.xlaに作成したクラスモジュールを生成できない

症状1

  1. .xlaファイルを作成
    • オブジェクト名 test とする
    • クラスモジュール test_class、メンバ変数 init() を作成
  2. .xlsファイルを作成
    • クラスモジュール test_class の変数 sample を参照できない。
例).xls
Sub ボタン1_Click()
 Dim sample As new test.test_class ← test_class を参照できない
 Call aaa.Init("AAA","BBB","CCC")
End Sub

対策1

症状2

対策2

  1. .xla の標準モジュール内に、test_class オブジェクトを生成して戻り値で返すcreate_class() を作成
  2. .xls 側で作成した create_class() をCall して test_class を生成する。
例).xla
Function create_class()
 Set create_class = New test.test_class
End Function
例).xls
Sub ボタン1_Click()
 Dim sample As test.test_class
 set sample = create_class()
 Call sample.Init("AAA","BBB","CCC")
End Sub