Excel VBA質問箱 IV

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

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


21040 / 76738 ←次へ | 前へ→

【61104】一定時間選択変更がなければ上書保存でループにハマル
質問  ON  - 09/4/9(木) 16:28 -

引用なし
パスワード
   よろしくお願いいたします


一定時間入力がなければブックを上書き保存で終了したいと思っています

動作的には
変更がなければ、警告フォームを出して
そのまま放置であれば30秒したら上書き保存でブックを閉じる

ボタン1 継続編集であれば、再度一定時間でフォームを出し判断
ボタン2 完了であれば、上書き保存でブックを閉じる

のような流れです

起動は、Workbook_OpenでTimerStartを実行で動いていますが

不具合の場所は
ボタン1 継続編集であれば、再度一定時間でフォームを出し判断
で、
フラグ Public tm_continue As Boolean がたっていたら

ユーザーフォームを閉じるとき
再度 'TimerStart すると
マクロ作動中みたいな状況で
ESCキーを押すと
DoEvents '←ここでとまる
となって、シート入力がギコチナイ状況となっています

編集継続のためのTimerStartをどのように呼べばいいでしょうか


---------------------------------------------------------
ThisWorkbook

Option Explicit

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  TimerReset
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  TimerReset
End Sub

Private Sub TimerReset()
If TimerSW Then
  TimerStop
  TimerStart
End If
End Sub

---------------------------------------------------------
Module1

Option Explicit

Private SetTime As Date
Public TimerSW As Boolean
Public tm_continue As Boolean

Public Sub TimerStart()
  SetTime = Now + TimeValue("00:00:10")
  Application.OnTime EarliestTime:=SetTime, Procedure:="show_fm"
  TimerSW = True
End Sub

Public Sub TimerStop()

  On Error Resume Next
  Application.OnTime EarliestTime:=SetTime, Procedure:="show_fm", Schedule:=False
  TimerSW = False
  
End Sub

Sub show_fm()

  TimerStart
  UserForm1.Show
  
End Sub

---------------------------------------------------------

UserForm1

Option Explicit

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub CommandButton1_Click() '継続

  TimerStop
  Unload Me
  tm_continue = True
  
End Sub

Private Sub CommandButton2_Click() '終了

  TimerStop
  Unload Me
  tm_continue = False

End Sub

Private Sub UserForm_Activate()
  
  Dim i As Integer
  '閉じるまで30秒カウントダウン
  For i = 30 To 0 Step -1
    Me.Label3 = i
    DoEvents
    If TimerSW = False Then Exit For
    Sleep 1000
    DoEvents '←ここでとまる
  Next i

End Sub


Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

  If tm_continue = True Then
  
    'TimerStart '←これのため、マクロ実行中となるようなです
  
  End If
  
End Sub

---------------------------------------------------------

0 hits

【61104】一定時間選択変更がなければ上書保存でループにハマル ON 09/4/9(木) 16:28 質問
【61105】Re:一定時間選択変更がなければ上書保存で... ON 09/4/9(木) 16:41 発言
【61106】Re:一定時間選択変更がなければ上書保存で... ON 09/4/9(木) 17:02 発言
【61112】Re:一定時間選択変更がなければ上書保存で... n 09/4/9(木) 22:39 発言
【61115】Re:一定時間選択変更がなければ上書保存で... ON 09/4/10(金) 10:11 お礼
【61123】Re:一定時間選択変更がなければ上書保存で... n 09/4/10(金) 12:12 発言
【61124】Re:一定時間選択変更がなければ上書保存で... Abyss 09/4/10(金) 12:29 発言
【61133】Re:一定時間選択変更がなければ上書保存で... ON 09/4/10(金) 18:22 お礼
【61135】Re:一定時間選択変更がなければ上書保存で... n 09/4/10(金) 20:52 発言
【61136】Re:一定時間選択変更がなければ上書保存で... Abyss 09/4/10(金) 22:07 発言
【61140】Re:一定時間選択変更がなければ上書保存で... Abyss 09/4/10(金) 23:06 発言
【61142】Re:一定時間選択変更がなければ上書保存で... n 09/4/11(土) 2:31 発言
【61176】Re:一定時間選択変更がなければ上書保存で... ON 09/4/14(火) 16:00 質問
【61177】Re:一定時間選択変更がなければ上書保存で... ON 09/4/14(火) 16:32 質問
【61179】Re:一定時間選択変更がなければ上書保存で... n 09/4/14(火) 19:14 発言
【61183】Re:一定時間選択変更がなければ上書保存で... n 09/4/15(水) 0:24 発言
【61187】Re:一定時間選択変更がなければ上書保存で... ON 09/4/15(水) 10:43 お礼
【61188】Re:一定時間選択変更がなければ上書保存で... n 09/4/15(水) 12:44 発言
【61189】Re:一定時間選択変更がなければ上書保存で... ON 09/4/15(水) 13:02 発言
【61190】Re:一定時間選択変更がなければ上書保存で... n 09/4/15(水) 15:00 発言
【61192】Re:一定時間選択変更がなければ上書保存で... neptune 09/4/15(水) 15:35 発言
【61193】Re:一定時間選択変更がなければ上書保存で... ON 09/4/15(水) 17:43 お礼
【61198】Re:一定時間選択変更がなければ上書保存で... Abyss 09/4/15(水) 23:38 発言
【61221】Re:一定時間選択変更がなければ上書保存で... ON 09/4/16(木) 15:59 お礼

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