アプリ版:「スタンプのみでお礼する」機能のリリースについて

結構な数で、
をworkbook-openに色々な操作を書いています。
殆ど問題ないのですが、
その前に実行したブックが、
イベント発生を止めた(false)まま終わってしまうと、
workboo-openに入れないので、ひと手間掛かってしまいます。

ここで質問ですが、
ブックを抜ける時には必ずイベント発生を『true』にするような方法は無いでしょうか。
一応、workbook-beforecloseではtrueにするよう書いてありますが、
本体中で無効にしてあると、workbook-beforecloseに入れないので意味なしです。

『イベント戻し』のようなボタンを作り、
押させられれば解決なのですが、
多岐の人間が使うブックでなかなか踏襲できません。
宜しくお願いします。

A 回答 (3件)

ごめんなさい。


Resume Next
入れた方が良いでしょう。追記します。

Finaly:
  Exit Sub
Error_Handler:
  Application.EnableEvents = True
  Resume Next
End Sub
    • good
    • 0
この回答へのお礼

何回もありがとうございました。
auto_open、
素晴らしいです。
まさに探していたのはこれで100%です。

やってみたら見事に意に沿っていました。

なお、イベント抑止がそのままは、
ロジックミスでも何でもなく、
ユーザーの中には、
何の考えも無く途中でやめて仕舞う者が居るということです。
これについてはいかんともしがたい、
というところです。

お世話になりました。

お礼日時:2022/08/30 16:25

こんにちは。



標準モジュールに 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
    • good
    • 0

こんにちは



>イベント発生を止めた(false)まま終わってしまうと、~
まずは、お作法として、止めっぱなしにしないようにコードを書くようにしておけば良いのではないでしょうか?

その場合でも、処理実行中にエラーが発生して中断すると、イベント停止のままになってしまいます。
まぁ、エラーを起こすようなコードを使っていることが問題と言えば問題なのですが・・
そちらも防止したければ、エラー処理を加えて、エラーで中断する際でも、イベント発生だけは元に戻しておくようにしておけばすむ問題のように思われます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!