| 
    
     |  | ▼木木木 さん: おはようございます。
 
 
 >大まかに、上記のようなコードを書きました。
 >GetAの戻り値をSetで設定しているのですが、表の取得成功時に、
 >  Set GetA = Nothing
 >で解放するタイミングが存在しないと思うのですが、関数の場合は解放しなくてもいいものなのでしょうか。
 GetAは、インターフェースにすぎないので不要だと思いますよ!!
 (Fucntion定義のGetAに値を設定することもできませんしね)
 
 
 別の例で・・・、
 
 新規ブックにて、
 
 クラスモジュール(Class1)に
 
 Option Explicit
 Private Sub Class_Terminate()
 Debug.Print "ok"
 End Sub
 
 
 標準モジュールに
 
 Option Explicit
 Sub main()
 Call geta
 MsgBox "stop"
 End Sub
 Function geta() As Class1
 Set geta = New Class1
 End Function
 
 このmainを実行すると、メッセージ「stop」が表示された時点で
 イミディエイトウインドーには、okが表示されますよね?
 
 この事から、データを受け取る変数がない場合は、インスタンスが
 開放されている事がわかります。
 
 Sub main2()
 Dim a As Class1
 Set a = geta
 MsgBox "stop"
 Set a = Nothing
 End Sub
 
 ↑このコードとイミディエイトウインドーに okと表示されるタイミングを
 比較してみてください。
 
 |  |