2012-04-19 24 views
0

2003年にブックが閉じられるだけです。しかし今、同じコードがブックを再度開いています。後にいくつかの行があり、その後にサブエンドがあります。サブブックが終了すると、ワークブックを開くコードがなくても、閉じられたブックに対してイベントが発生します(workbook_open)。デバッガはほとんど役に立たず、すべてを段階的に実行するとバグを再現することはできません。実際にはデバッガを使用するとすべて正常に動作します。Excel 2007 VBAブックを閉じてから再び開く

Iは(アドインから)ブックを閉じるため

ActiveWorkbook.Close False

を使用します。

大変助けになりました。

答えて

0

両方を取得する方法を説明しました。 Workbook_beforecloseは、

Application.OnTime EarliestTime:=Now(), Procedure:="Name", Schedule:=False 

を呼び出すことによって、スケジュールされたオンタイムイベントをキャンセルします。それ以外の場合は、ontimeイベントが実行されます。

beforecloseが呼び出される前にイベントがキャンセルされない場合は、ワークブックが閉じられてからスケジュールされたオンタイムイベントが実行されます(ワークブックが開いているので、オンタイムがIそれを閉じる必要があります)。

0

迷惑なリボンとMicrosoftがカスタムメニューを削除しているため、Excel 2007用にわずかな量のコードを追加しました。これをいくらか補うために、私はリボンのアドインタブを常に利便性のために見せたいと思っていましたが、私はApplication.OnTimeとsendkeysを使っていました(Microsoftは愚かなリボンでAPIを含めていないので、 ..)。まあ、OnTimeは私の悩みの根源だと思われます。

関連する問題