Excel 2003スプレッドシートに添付されているVBAによっては、インスタンス化するのに時間がかかるオブジェクトを使用する必要があるため、一度「設定」したいのは一度だけです...オブジェクトが既に参照されているかどうかはどのように知りますか?
説明を書くよりもコード!
' Declare the expensive object as global to this sheet
Dim myObj As SomeBigExpensiveObject
Private Sub CommandButtonDoIt_Click()
' Make sure we've got a ref to the object
If IsEmpty(myObj) Then ' this doesn't work!
Set myObj = New SomeBigExpensiveObject
End If
' ... etc
End Sub
myObjがすでに設定されているかどうかを確認するにはどうすればよいですか?
私はIsNull(myObj)とIsEmpty(myObj)を試しました。myObjの状態にかかわらず、両方とも 'set'をスキップしました。私は
if myObj = Nil then
または
if myObj = Empty then
または
if myObj = Nothing then
任意のアイデアを行うことはできませんか?
SAL
CreatObjectを試しましたか? – THEn
このページには、VB、VBAの空白、ヌル、何もない点の違いに関する良い情報が掲載されています。http://beta.blogs.msdn.com/ericlippert/archive/2003/09/30/53120.aspx – Lunatik