9日目 組み込みダイアログを重点的に

今日はVBAの組み込みダイアログを少し時間をかけて勉強した。

ファイルを開くダイアログ(GetOpenFilename)
名前を付けて保存ダイアログ(GetSaveAsFilename)
ファイルダイアログ(FileDialog))
組み込みダイアログ(Dialogs,xlDialogPrint)


「GetOpenFilename」&「GetSaveAsFilename」はほぼ同じ引数で似ていた。
けど上記2つと「FileDialog」は引数も使い方もかなり違う。


「FileDialog」は引数も多いので、いつも使う引数が限られそうだ。
ちなみに「GetOpenFilename」&「GetSaveAsFilename」はメソッドで、「FileDialog」はオブジェクト。

 

以下にまとめてみる↓
■3つに共通している物
・FilterIndex
・Title
この2つは「GetOpenFilename」&「GetSaveAsFilename」の時は引数で、「FileDialog」の時はプロパティ。
機能的には大体同じで似ている。

 

■2つに共通している物
・InitialFileName
「GetSaveAsFilename」と「FileDialog」でそれぞれ引数とプロパティで存在する。
機能的にはほぼ同じ。

・FileFilter
「GetOpenFilename」と「GetSaveAsFilename」で引数で存在。
機能的には全く同じ。
「FileDialog」のプロパティで「Filters」があって、機能的には「FileFilter」と似ている。
「Filters」の「Add」プロパティでファイルの種類と拡張子を設定する。
Application.FileDialog(msoFileDialogOpen).Filters.Add "Excel2003", "*.xls"

 

■その他
・「GetOpenFilename」の引数で「MultiSelect」があるが、「FileDialog」の「AllowMultiSelect」プロパティと機能は全く同じ。

・「FileDialog」でよく使うプロパティが「SelectedItems」。
 あと、「Show」メソッドと「Execute」メソッド。

・「GetOpenFilename」と「GetSaveAsFilename」は、ユーザーが選択したファイルのフルパスを取得するだけで実行はしない。


一応備忘録で残しておく。