掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
実行ファイルにするとタイマーが止まらない (ID:101442)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> これはどうしてなのでしょうか? 仕様(by design)という事になっています。 http://support.microsoft.com/kb/178078/ja http://support.microsoft.com/kb/178078/en-us なので、そうした動作の違いを避けるために(開発時にも止まらないよう)、 MessageBox API を使った回避手法が、しばしば利用されています。 Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" _ (ByVal hwnd As Long, _ ByVal lpText As String, _ Optional ByVal lpCaption As String = "", _ Optional ByVal wType As Long = vbOKOnly) As Long Private Const MB_CANCELTRYCONTINUE As Long = &H6 Private Sub Command1_Click() MessageBox hwnd, "てすと" End Sub Private Sub Command2_Click() MsgBox "てすと" End Sub > 鳴り止むようにするにはどうしたらいいでしょうか? しかし今回はその逆で、「メッセージ表示中は停止したい」という だけですから、単純にタイマー自体を停止してしまえばよいですね。 (これについては、正月さんらが既に回答をつけておられます) もし、全ての MsgBox 関数の呼び出し部に、そうしたタイマー停止コードを 設けるのが面倒という事であれば、MsgBox の代替コードを用意してやれば、 呼び出し側の処理に手を加える必要はありません。 Private Sub Command1_Click() MsgBox "てすと" End Sub '** タイマー依存なので、標準モジュールではなくフォームモジュールに記述 Friend Function MsgBox( _ ByVal Prompt As Variant, _ Optional ByVal Buttons As VbMsgBoxStyle = vbOKOnly, _ Optional ByVal Title As Variant, _ Optional ByVal HelpFile As Variant, _ Optional ByVal Context As Variant) As VbMsgBoxResult Dim e As Boolean e = Me.Timer1.Enabled Me.Timer1.Enabled = False MsgBox = VBA.Interaction.MsgBox(Prompt, Buttons, Title, HelpFile, Context) Me.Timer1.Enabled = e End Function
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.