
EXCELの1つのブックに2つのマクロを組んでいます。
普段は1つ目のマクロを実行したあと、処理結果を確認してから
2つ目のマクロを動かしています。
※1つ目のマクロ終了時に、完了のメッセージボックスが出ます。
この2つのマクロを、自動で処理するためのマクロを
作ろうとしていて、
1.1つ目のマクロを実行
2.処理完了のメッセージボックスのOKをクリック
3.2つ目のマクロを実行
という流れで処理しようと思っています。
今、メッセージボックスのOKボタンをVBAでクリックする方法がわからなくて
調べているのですが、お分かりになる方いらっしゃいましたら
教えていただけませんでしょうか。
例えば、1つフラグを作って、そのフラグが立っている時は
メッセージボックスを出さないような制御は出来るのですが、
今回は、メッセージボックスをクリックする方法が
知りたいと思っています。
よろしくお願いいたします。
No.5
- 回答日時:
下記のようにしてみてはいかがでしょう
Sub Macro1() ' マクロ1
Macro1Auto
End Sub
' マクロ1の実行内容をこちらへ移す
Sub Macro1Auto( optional flag as Boolean = false )
' 1つめのマクロ
' メッセージボックスをフラグで制御
if flag = false then
MsgBox "確認メッセージ"
end if
End Sub
' 自動でやる場合は TrueをセットしてMacro1Autoをコール
Sub CallMAcro1Auto()
Macro1Auto True
End Sub
No.4
- 回答日時:
小生も質問を一読して、#3のご指摘と同じ感想を持ちました。
自動でプログラムでOKにするなら、MsgBoxのコードを,その入れなければよいのでは。
利用者に知らせるだけなら他の表示だけのコントロールもあり、表示が見る人にうるさければ、一定時間で消えるとかの方に頭が行くような気がします。
結局、質問の真意が説明(表現)できてないのでは。
No.3
- 回答日時:
diashunです。
質問者さんの意図がいま一つ理解できないのですが・・・。
そもそもMsgboxはある処理の結果がOKかNGかをオペレータに判断させるためのもので、これをプロシージャ内でOK(クリック?)とさせることに意味があるのでしょうか?常にOKと判断するなら、そのMsgboxを表示する意味はないのではないでしょうか?
#2のn-junの参考URLのWSH(ウィンドウズスクリプティングホスト)を使えば、一定時間後にMsgboxを自動で閉じることも確かにできますが、わざわざMsgboxを表示する意味はないと思います。
意図が不明ですみませんでした。
チェックしなくてもいいケースと、しないといけないケースがあって
チェックしなくてもいいケースの場合は、
スケジュールを組んでBATのように自動で全て動かしたいと思っていました。
わざわざメッセージボックスがないPGを分けて作るのも管理しにくく
なりますし、と思っていましたが
フラグを追加してBAT処理の場合はメッセージボックスを表示しない方が
良さそうですね。
ありがとうございました。
No.2
- 回答日時:
こういう方法もあるんですね。
ただ、普段は1つずつチェックしながら実行しているので
自動的に閉じてしまうのも困るんです。
でも参考になりました。
ありがとうございますm(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
VBA ポップアップが表示されたら常に「はい」を選択したい
Access(アクセス)
-
VBScriptでMsgBoxのYesNoボックスを自動的にクリックしたい
その他(プログラミング・Web制作)
-
-
4
VBAにて別ワークブック上の実行したマクロのメッセージボックスを操作
Visual Basic(VBA)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
VBA メッセージボックスを自動で消したい
Visual Basic(VBA)
-
8
エクセルVBAで「はい」「いいえ」のないメッセージを表示する方法
Excel(エクセル)
-
9
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
10
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
11
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
12
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
13
VBSで応答不要のメッセージボックスを表示したい
その他(パソコン・スマホ・電化製品)
-
14
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
15
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
16
VBAでIEを操作、ポップアップされた画面の処理(Enter)を行いたい
Visual Basic(VBA)
-
17
Excel vbaで別ブックのコマンドボタンをクリック
Visual Basic(VBA)
-
18
VBAで別モジュールへの変数の受け渡し方法
Visual Basic(VBA)
-
19
マクロで、次のコードへ行く前に時間をおくにはどうしたらいいのでしょうか?
その他(Microsoft Office)
-
20
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
ExcelVBAでPDFを閉じるソース
-
5
Excel・Word リサーチ機能を無...
-
6
メッセージボックスのOKボタ...
-
7
Excel VBAからAccessマクロを実...
-
8
エクセルで別のセルにあるふり...
-
9
#defineの定数を文字列として読...
-
10
EXCELのVBAでRange("A1:C4")を...
-
11
一つのTeratermのマクロで複数...
-
12
エクセルに張り付けた写真のフ...
-
13
特定文字のある行の前に空白行...
-
14
マクロ実行時、ユーザーフォー...
-
15
マクロの連続実行
-
16
TeraTermマクロの文字列結合
-
17
非表示の列をすべて削除するマクロ
-
18
ExcelのVBA。public変数の値が...
-
19
ソース内の行末に\\
-
20
ピボットテーブルでの毎回可変...
おすすめ情報
公式facebook
公式twitter