2017-04-18 223 views
2

VSTOアプリケーションに、アクティブブック内のVBAマクロを実行するリボンと、マクロの結果を表示するメッセージダイアログがあります。VBA関数の呼び出し中にActiveWorkbook.CloseがクラッシュするExcel

通常、マクロは正常に実行され、その結果がダイアログに正しく表示されます。

ただし、マクロにActiveWorkbook.Closeが含まれると、マクロを実行すると例外(0x800A9C68)がスローされます。

私のコードでは、マクロはc# - How to Call Excel VBA functions from VSTO Application addin - Stack Overflowとして提案されています。

ご協力いただければ幸いです! ありがとう、

+1

マクロ内のブックを閉じるべきではありません –

+0

問題は、VSTOアプリケーションインスタンスがブック内のマクロにアクセスし、マクロが終了するのを待っていますが、マクロが終了しないように、そのマクロへのアクセスがすぐに失われ、そのVSTOアプリケーションのクラッシュが発生します。フラグが設定されている場合は、マクロ内にフラグを設定し、[VSTOからブックを閉じる](https://msdn.microsoft.com/en-us/library/cd8yh918.aspx)を設定する方が良いと思います。 –

答えて

0

外部アプリケーション/アドインから呼び出す結果を得ることを期待するVBAマクロがブックに含まれているようです。しかし、VBAはCloseと呼ばれ、外部アプリケーションまたはアドインとの接続が切断されます。 VBAマクロでCloseステートメントを使用しないようにしてください。

関連する問題