[過去ログ] Excel VBA 質問スレ Part80 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
947
(3): 2024/04/15(月)22:33 ID:PE3M1YJ/(1)調 AAS
重複起動させないコードを作成してみた。自己流です。
これで、上手くはいってるようですが、
皆様はどのようにコーディングしてますでしょうか?

Private TTT As String

Sub 四角形角度付き1_Click()
 Dim dt As Long

 '''重複起動チェック
 If TTT = "" Then '初回での起動時(つまりTTT = "") では、重複起動チェックしない。

 Else
   dt = Abs(DateDiff("s", Time, TTT))
   If dt < 60 Then ''''重複起動チェック 60秒内の起動は断固阻止!!!
     MsgBox "60sec以内に重複起動∴重複した処理中断!あと" & CStr(60 - dt) & "秒 待ってネ"

     Exit Sub

   End If
 End If

 TTT = Time

 '''本処理
 〜ファイル書込みがある少々重い処理 60秒位かかる〜

End Sub
949: 2024/04/15(月)23:08 ID:OK1Sosag(1)調 AAS
>>947
それ二重起動が問題なんじゃなくて、本処理という部分の実装がおかしいんだぞ?

ファイルの読み書きを同じフォルダ、同じファイルでやることがおかしい。
950: 2024/04/16(火)00:32 ID:dcxj+bdJ(1/5)調 AAS
>>947
そもそも本処理が非同期というか、別スレッド、別プロセスとかになってないと…
そのメッセージ出せるか?出てるのか?

それと、クリックしてはいけないのなら、そもそもクリックできないようにしておくのがbetterなUI
(仕様は詳しくわからんけど)
ボタンenableをFalseとかにしておく
951
(2): 947 2024/04/16(火)01:07 ID:aRJ0OCMo(1/3)調 AAS
MsgBox "60sec以内に重複起動∴重複した処理中断!あと" & CStr(60 - dt) & "秒 待ってネ"
はでる。
ちなみに、図形(オートシェイプ)をクリックで
Sub 四角形角度付き1_Click()が起動する仕組み

10秒ごとに図形をクリックし、その為にmsgboxの[OK]を
10秒未満でクリックし続けると 

「あと50秒まってネ」
「あと40秒まってネ」
「あと30秒まってネ」
「あと20秒まってネ」
「あと10秒まってネ」となり
そして、その後は本処理実行できるが、また
「あと50秒まってネ」
「あと40秒まってネ」
「あと30秒まってネ」
… となる。かなり忙しくクリックしまくればだけど
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.044s