[[20070921103159]] 『ハイパーリンクで呼ばれたブックのクローズ処理異』(白髪プログラマ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ハイパーリンクで呼ばれたブックのクローズ処理異常』(白髪プログラマ)
 ハイパーリンクで呼ばれたブックのVBAで「thisWorkbook.Close」処理をすると、シートはクローズされますが、呼ばれたブックのVBAのプロジェクトが残り、再度ハイパーリンクでブックを呼び出すと、プロジェクトが2重に登録されVBAが無効になります。
 「thisWorkbook.Close」でプロジェクトも一緒にクローズする方法を教えてください。

 [幽霊プロジェクトの怪]
http://hp.vector.co.jp/authors/VA016119/kitan01.html#11
上記のような現象かもしれません。
 
以下のコードは再現用のコードの引用ですが
Public wb As Object
Sub Test()
    Set wb = Workbooks.Add
    wb.Close False
End Sub
 
対策として
「Set wb = Nothing としたり、[実行]-[リセット] でプロジェク
トをリセットして変数を初期化すれば消えます。」とあります。
 
要するに、Publicレベル宣言変数で参照している場合、変数の内容を
クリアしないためにプロジェクトを参照し続けるのが原因のようです。
 
(みやほりん)(-_∂)b

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.