Excel VBA質問箱 IV

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

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


40802 / 76732 ←次へ | 前へ→

【41021】Re:Excel終了時の動きについて
発言  ichinose  - 06/7/27(木) 20:44 -

引用なし
パスワード
   ▼foo さん:
こんばんは。

>こんにちは、現在組んでいるマクロで、ブックのbeforecloseイベントにおいて、フラグ(グローバル変数)の値がTrueだった時にMsgBoxを出す処理を入れてます。
>
>これがそのブックを閉じる操作の場合は期待通りの動作をするのですが、Excelを終了する時にはMsgBoxを出さずに終わってしまいます。

現象、確認しました。Excel2002 SP-3では、foo さんが記述されたとおりに
コードを実行し、操作すると変数が初期化されてしまいます。

Excel終了ボタンをクリックすると、testというプログラムも
終了してしまいますねえ!!
データの保持は方法も考えられますが
(もっとも、foo さんの事象に適合するしないの問題は別ですが)
testが終了してしまうのは致命的です。


方法としては、作業用ブック(仮にBook1)の

Thisworkbookモジュールに

Public Flag as boolean

と宣言しておいて、実際はBook1は非表示に設定しておきます。

>
>-----(標準モジュール)------
>Public Flag As Boolean
>
>Sub test()
  Workbooks("book1").Flag= True
>  
  Do While Workbooks("book1").Flag=True
>    newHour = Hour(Now())
>    newMinute = Minute(Now())
>    newSecond = Second(Now()) + 1
>    waitTime = TimeSerial(newHour, newMinute, newSecond)
>    Application.Wait waitTime  '(当然実際はここでもっと違う処理を行う)
>    DoEvents
>  Loop
>End Sub
>-----------------------------
>
>-----(ThisWorkbookモジュール)------
>Private Sub Workbook_BeforeClose(Cancel As Boolean)
  if Workbooks("book1").Flag then MsgBox "End..."
>End Sub
>-----------------------------
>

なんてすると、値(Workbooks("book1").Flag)は保持されます。
よって、BeforeCloseイベントでメッセージは表示されます。


繰り返しますが、プロシジャーが終了してしまうのは、問題ですけどね!!

こうすれば、セルに保存する時の問題はクリアできるとは思いますが・・。


この現象は、要チェックですね!!

0 hits

【40994】Excel終了時の動きについて foo 06/7/27(木) 14:50 質問
【40996】Re:Excel終了時の動きについて neptune 06/7/27(木) 15:17 発言
【40998】Re:Excel終了時の動きについて foo 06/7/27(木) 15:30 お礼
【40997】Re:Excel終了時の動きについて Kein 06/7/27(木) 15:20 発言
【40999】Re:Excel終了時の動きについて foo 06/7/27(木) 15:38 発言
【41004】Re:Excel終了時の動きについて Kein 06/7/27(木) 15:56 発言
【41021】Re:Excel終了時の動きについて ichinose 06/7/27(木) 20:44 発言
【41022】Re:Excel終了時の動きについて ichinose 06/7/27(木) 21:02 発言
【41023】Re:Excel終了時の動きについて neptune 06/7/27(木) 21:13 発言
【41033】Re:Excel終了時の動きについて foo 06/7/28(金) 9:25 お礼
【41032】Re:Excel終了時の動きについて foo 06/7/28(金) 9:12 お礼
【41040】Re:Excel終了時の動きについて ichinose 06/7/28(金) 11:08 発言
【41051】Re:Excel終了時の動きについて foo 06/7/28(金) 13:13 発言
【41060】Re:Excel終了時の動きについて ichinose 06/7/28(金) 13:54 発言
【41062】Re:Excel終了時の動きについて foo 06/7/28(金) 14:12 お礼
【41076】Re:Excel終了時の動きについて ichinose 06/7/28(金) 16:57 発言
【41077】Re:Excel終了時の動きについて 追伸 ichinose 06/7/28(金) 17:05 発言
【41079】姑息技 Jaka 06/7/28(金) 17:14 発言
【41086】Re:姑息技 foo 06/7/28(金) 18:56 お礼
【41085】Re:Excel終了時の動きについて foo 06/7/28(金) 18:25 お礼

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