Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3801 / 13645 ツリー ←次へ | 前へ→

【60116】マクロ実行中のWorkbookOpenイベント inaq 09/1/28(水) 1:51 質問[未読]
【60120】Re:マクロ実行中のWorkbookOpenイベント arajin 09/1/28(水) 8:46 発言[未読]
【60125】Re:マクロ実行中のWorkbookOpenイベント inaq 09/1/28(水) 12:21 お礼[未読]

【60116】マクロ実行中のWorkbookOpenイベント
質問  inaq  - 09/1/28(水) 1:51 -

引用なし
パスワード
   マクロ実行中にApplicationレベルのイベントであるWorkbookOpenを実行させる方法を探しています。
ご存知の方がいらっしゃいましたらご教示いただけますと助かります。

現在作成している機能は大量のデータを扱うもので処理に10分程度の時間がかかります。
処理時間が長いことはやむを得ないのですが、実行中に他のExcelブックを開きたいという要望がございまして、クラスモジュールでWorkbookOpenイベントをとらえるようにして、別のExcel.EXEを起動し他のExcelブックはそちらで開かれるようにロジックを組んでみました。
しかしながら、マクロ実行中はWorkbookOpenイベントが機能せず他のブックを開くことができないため、処理が終わるまで待つしかない状況になっておりとても困っています。
フォーム表示中でユーザー入力待ちのような状態のときは、WorkbookOpenイベントが働き別のExcel.EXEで他のExcelブックを開くことができるのですが、マクロ実行中のときだけうまく動作しません。
フォームはモードレスで表示し、マクロの実行はフォーム上のボタンを押すことで処理が動作するようになっていて、実行中はフォームのボタンを無効化した状態でフォームを表示したままにしています。
処理内にはDoeventsを盛り込んでいますが、WorkbookOpenイベントは動きません。

何か解決策などございますでしょうか?

よろしくお願いいたします。

【60120】Re:マクロ実行中のWorkbookOpenイベント
発言  arajin  - 09/1/28(水) 8:46 -

引用なし
パスワード
   ▼inaq さん:
>実行中に他のExcelブックを開きたいという要望がございまして、
が、目的ならば、
>何か解決策などございますでしょうか?
は、

そのモードレスユーザーフォームがロードされている間とか、
その長い処理実行中は、
Application.IgnoreRemoteRequests を True にして
処理の完了で、 False で戻してやればどうでしょうか?

戻し忘れに注意して。

【60125】Re:マクロ実行中のWorkbookOpenイベント
お礼  inaq  - 09/1/28(水) 12:21 -

引用なし
パスワード
   ▼arajin さん:

早速のご返答ありがとうございます。

>Application.IgnoreRemoteRequests を True にして
>処理の完了で、 False で戻してやればどうでしょうか?
これにて解決いたしました。
大変助かりました。ありがとうございます。

わざわざクラスモジュールなど組まなくてもこれで一発解決でした。
不勉強を痛感した次第です。

本当にありがとうございました。

3801 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free