エクセルには”ファイルを開く”、”オプション”、”形式を選択して貼り付け”
などさまざまな組み込みダイアログが存在します。これらを利用することは、
VBAで設定を強制するのではなく、ユーザに設定を促す役割を持ちます。
エクセルの組み込みダイアログにはDialogsコレクションに引数を指定してダイア
ログを特定し、Showメソッドで表示させます。ダイアログによってはShowメソッド
に引数を渡すことでダイアログに表示される初期設定を指定することができます。
例えば”ファイルを開く”ダイアログでファイル名を初期状態で表示させておく
場合・・・
Sub Test()
Application.Dialogs(xlDialogOpen).Show ("c:windows\ファイル名.xls")
End Sub
とすることができます。
また、ユーザに操作を強制する場合には、Showメソッドで表示された場合のダイア
ログが”OK”の場合には"True"が返り、”キャンセル”の場合には"False"が返され
る特性を生かして以下のようにすることもできます。
Sub Test2()
Dim Ret As Boolean
Do
Ret = Application.Dialogs(xlDialogOpen).Show("c:\ファイル名.xls")
Loop While Ret = False
End Sub
※実際にはキャンセルされた回数を数えて、例えば3回目で処理を抜ける、と
いうような仕組みにしたほうがよいでしょう。
以下、組み込みダイアログのうち有用なものをいくつかご紹介します。
'画像挿入
Application.Dialogs(xlDialogInsertPicture).Show
'"ツールーオプション”の表示タブ
Application.Dialogs(xlDialogOptionsView).Show
'関数の貼り付け
Application.Dialogs(xlDialogFunctionWizard).Show
'表示形式
Application.Dialogs(xlDialogFormatNumber).Show
'フォントの設定
Application.Dialogs(xlDialogFormatFont).Show
'ウィンドウ選択
Application.Dialogs(xlDialogActivate).Show
'置き換え
Application.Dialogs(xlDialogFormulaReplace).Show "検索文字", "置き換え文字"
'検索
Application.Dialogs(xlDialogFormulaFind).Show "検索文字をここに入力"
'印刷設定
Application.Dialogs(xlDialogPageSetup).Show
'印刷(初期設定を指定。意味は・・・ページ指定、1〜5ページ、3部)
’印刷ダイアログで引数の順序を確認してみてください
Application.Dialogs(xlDialogPrint).Show 2, 1, 5, 3
'行、列のタイトル
Application.Dialogs(xlDialogSetPrintTitles).Show
'並び替え
Application.Dialogs(xlDialogSort).Show
|