| |
|
|
Sample Macro メッセージ [基本型] |
 |
|
|
|
1) 簡単な伝達 2) 質問 3) ダイアログスタイル |
 |
 |
'=========================================================================================
Sub 情報を知らせるメッセージボックス()
MsgBox "処理が終りました。", _
vbInformation, "進行状況"
End Sub
'-----------------------------------------------------------------------------------------
Sub 注意を促すメッセージボックス()
MsgBox "ファイルが開けません。もう一度やり直してください。", _
vbExclamation, "エラーメッセージ"
End Sub
'-----------------------------------------------------------------------------------------
Sub 警告するメッセージボックス()
タイトル = "誤操作です"
メッセージ = "選び直してください"
スタイル = vbCritical '※1
MsgBox メッセージ, スタイル, タイトル
End Sub
'-----------------------------------------------------------------------------------------
Sub 問い合わせするメッセージボックス()
タイトル = "選択"
メッセージ = "印刷しますか"
スタイル = vbYesNo + vbQuestion + vbDefaultButton1 + vbApplicationModal '※2
yesno = MsgBox(メッセージ, スタイル, タイトル)
If yesno = vbYes Then '※3
ActiveWindow.SelectedSheets.PrintOut Copies:=1 '印刷する
End If
End Sub
'-----------------------------------------------------------------------------------------
Sub ヘルプ機能付きのメッセージボックス()
メッセージ = "続行しますか?" & Chr(13) & _
"F1キー(Macはヘルプキー)を押すとヘルプトピックを表示します" '※4
スタイル = vbYesNo + vbCritical + vbDefaultButton2
タイトル = "すぐマク"
ヘルプ = "DEMO.HLP" 'ヘルプファイルを定義する ※5
コンテキスト = 1000 'トピックコンテキストを定義する
応答 = MsgBox(メッセージ, スタイル, タイトル, ヘルプ, コンテキスト) '※6
If 応答 = vbYes Then '[はい]がクリックされたら
MsgBox "[はい] がクリックされました"
Else 'そうでなければ
MsgBox "[いいえ] がクリックされました"
End If
End Sub
'=========================================================================================
<コメント>
※1、2 ダイアロクボックスのスタイル(Macintoshではアイコンの指定は無視される)
| アイコン |
ボタン |
| vbCritical | 警告 |
vbOkOnly | OK |
| vbExclamation | 注意 |
vbOkCancel | OK、キャンセル |
| vbInformation | 情報 |
vbAbortRetryIgnore | 中止、再試行、無視 |
| vbQuestion | 問い合わせ |
vbYesNoCancel | はい、いいえ、キャンセル |
| . |
vbYesNo | はい、いいえ |
| vbRetryCancel | 再試行,キャンセル |
| 標準ボタン |
モーダル指定 |
| vbDefaultButton1 | 第1ボタンを標準 |
vbApplicationModal | メッセージボックスに応答しないと他の操作不可能 |
| vbDefaultButton2 | 第2ボタンを標準 |
vbSystemModal | メッセージボックスに応答するまですべての動作を中断する |
| vbDefaultButton3 | 第3ボタンを標準 |
. |
※3 MsgBox関数の戻り値
| 選択されたボタン |
戻り値 |
選択されたボタン |
戻り値 |
| [OK]ボタン | vbOK |
[無視]ボタン | vbIgnore |
| [キャンセル]ボタン | vbCancel |
[はい]ボタン | vbYes |
| [中止]ボタン | vbAbort |
[いいえ]ボタン | vbNo |
| [再試行]ボタン | vbRetry |
. |
※4 Chr(13)は改行の制御文字、Excelのバージョンにより「vbLF」と記述可能
※5 事前に作成しておいたファイル名を指定する
※6 Excelのバージョンによっては、ヘルプボタンが表示される
|
4-1) 組み込みダイアログボックスの活用 |
 |
 |
'=========================================================================================
Sub 組み込みダイアログボックスを表示する_ブック関係()
Application.Dialogs(xlDialogOpen).Show 'ファイルを開く
Application.Dialogs(xlDialogOpen).Show arg3:=True 'ファイルを読み取り専用で開く
Application.Dialogs(xlDialogSaveAs).Show 'ファイル名を付けて保存
End Sub
'-----------------------------------------------------------------------------------------
Sub 組み込みダイアログボックスを表示する_印刷関係()
Application.Dialogs(xlDialogPageSetup).Show 'ページ設定
Application.Dialogs(xlDialogPrint).Show '印刷
End Sub
'-----------------------------------------------------------------------------------------
Sub 組み込みダイアログボックスを表示する_画面関係()
Application.Dialogs(xlDialogDisplay).Show '画面設定
Application.Dialogs(xlDialogZoom).Show 'ズーム
Application.Dialogs(xlDialogFontProperties).Show 'セルの書式設定
Application.Dialogs(xlDialogFormatFont).Show 'フォントの設定
End Sub
'-----------------------------------------------------------------------------------------
Sub 組み込みダイアログボックスを表示する_その他()
Application.Dialogs(xlDialogFormulaReplace).Show '置換
Application.Dialogs(xlDialogSort).Show '並べ替え
End Sub
'=========================================================================================
<コメント>
※1 ワークシートをアクティブにしてから、上記のダイアログボックスを表示する。
※2 下表の項目をクリックするとサンプルが見れます
※3 上表以外のサンプルは、下記によりダウンロードしたブックのセルをダブルクリックすれば、実物を 表示して見ることができます。
サンプルブックのダウンロードは ここをクリック (YNxv210_Dialogs.xls 143KB) ※ 一旦、ブックをハードディスクに保存し、開き直してから実行してください。
|
|
4-2) 組み込みダイアログボックス (Windows版専用) |
 |
 |
'-----------------------------------------------------------------------------------------
Sub ダイアログボックスを表示する_プリンタの設定()
Application.Dialogs(xlDialogPrinterSetup).Show
End Sub
'-----------------------------------------------------------------------------------------
<コメント>
※1 ワークシートをアクティブにしてから、上記のダイアログボックスを表示する。
※2 ここをクリックするとサンプルが見れます
|
5) 制御文字で整形する |
 |
 |
'=========================================================================================
Sub キャリッジリターンで改行して表示する()
MsgBox "長いメッセージは" & Chr(13) & "Chr(13) で" & Chr(13) & "改行できます"
End Sub
'-----------------------------------------------------------------------------------------
Sub タブで整形して表示する()
メッセージ = "りんご" & Chr(9) & "1個" & Chr(13) & "バナナ" & Chr(9) & "1房"
タイトル = "タブで整形して表示しています"
MsgBox メッセージ, , タイトル
End Sub
'=========================================================================================
<コメント>
※1 制御文字のコードと定数は こちら
|
6) 特定の警告やメッセージを表示させない |
 |
 |
'=========================================================================================
Sub 特定の警告やメッセージを表示させない()
Application.DisplayAlerts = False '※1
End Sub
'=========================================================================================
<コメント>
※1 True:マクロの実行中に自動的に表示される特定の警告やメッセージを表示する
|