
結構な数で、
をworkbook-openに色々な操作を書いています。
殆ど問題ないのですが、
その前に実行したブックが、
イベント発生を止めた(false)まま終わってしまうと、
workboo-openに入れないので、ひと手間掛かってしまいます。
ここで質問ですが、
ブックを抜ける時には必ずイベント発生を『true』にするような方法は無いでしょうか。
一応、workbook-beforecloseではtrueにするよう書いてありますが、
本体中で無効にしてあると、workbook-beforecloseに入れないので意味なしです。
『イベント戻し』のようなボタンを作り、
押させられれば解決なのですが、
多岐の人間が使うブックでなかなか踏襲できません。
宜しくお願いします。
No.3ベストアンサー
- 回答日時:
ごめんなさい。
Resume Next
入れた方が良いでしょう。追記します。
Finaly:
Exit Sub
Error_Handler:
Application.EnableEvents = True
Resume Next
End Sub
何回もありがとうございました。
auto_open、
素晴らしいです。
まさに探していたのはこれで100%です。
やってみたら見事に意に沿っていました。
なお、イベント抑止がそのままは、
ロジックミスでも何でもなく、
ユーザーの中には、
何の考えも無く途中でやめて仕舞う者が居るということです。
これについてはいかんともしがたい、
というところです。
お世話になりました。
No.2
- 回答日時:
こんにちは。
標準モジュールに auto open を書いてみては?
Sub Auto_Open()
application.enableevents = true
End Sub
auto close はありませんが、、workbook の open イベント相当でブックを開いた時に自動実行されます。
動作未確認です。
applicationの設定変更は基本的に避けた方が良いのですが、どうしてもの場合は、必要最小限度にしたうえで、エラーハンドリングします。
例えば、change イベントの多重発生を抑止したいなら。
Private Sub イベント名
On Error Goto Error_Handler
application.enableevents = false
cells(1, 2).value = "test"
application.enableevents = true
Finaly:
Exit Sub
Error_Handler:
Application.EnableEvents = True
End Sub
No.1
- 回答日時:
こんにちは
>イベント発生を止めた(false)まま終わってしまうと、~
まずは、お作法として、止めっぱなしにしないようにコードを書くようにしておけば良いのではないでしょうか?
その場合でも、処理実行中にエラーが発生して中断すると、イベント停止のままになってしまいます。
まぁ、エラーを起こすようなコードを使っていることが問題と言えば問題なのですが・・
そちらも防止したければ、エラー処理を加えて、エラーで中断する際でも、イベント発生だけは元に戻しておくようにしておけばすむ問題のように思われます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
マクロについて教えてください...
-
【Excel VBA】マクロをボタンに...
-
【マクロ】エラー【#DIV/0!】が...
-
Outlook.ApplicationをCreateOb...
-
実行時エラー48発生時のDLL特定...
-
VBAがブレークモードになっ...
-
VBAで、定数式が必要ですのエラ...
-
「定数式が必要です。」って何...
-
一般ODBCエラーについて
-
VBAでESCキーを無効にしたいの...
-
日本語環境下で作成したマクロ...
-
[Delphi] データセットは閉じて...
-
【エクセル】ハイパーリンク先...
-
実行時エラー -'-2147417848
-
なぜエラーになるのでしょうか...
-
ExcelVBA Range クラスの Page...
-
エラー1004 PDFの保存ができま...
-
VBAのエラー発生場所をメッセー...
-
VBAのコードがエラーになっ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
【マクロ】エラー【#DIV/0!】が...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAでのエラー
-
実行時エラー -'-2147417848
-
実行時エラー48発生時のDLL特定...
-
マクロについて教えてください...
-
ExcelVBA Range クラスの Page...
-
EXCEL VBAマクロ中断でデバッグ...
-
実行時エラー3001「引数が間違...
-
EXCEL/VBAで、自分のPCだけエラ...
-
VB6+SQL サーバー 2000 で 実行...
-
VBAのエラー発生場所をメッセー...
-
ADODB.Streamを使用してUTF-8を...
-
【Excel VBA】マクロをボタンに...
-
OLEDB.NETで接続できない
-
なぜエラーになるのでしょうか...
-
INSERT INTOステートメント構文...
-
Outlook.ApplicationをCreateOb...
おすすめ情報