GetOpenFilename

構文
String = Application.GetOpenFilename( FileFilter, FilterIndex, Title, ButtonText, MultiSelect )
引数
FileFilter
ファイルの候補を指定する文字列を指定します。
FilterIndex
FileFilterで指定したファイルフィルター文字列の中で、1から何番目の値を規定値とするかを指定します。この引数を省略、もしくはファイルフィルター文字列の数より大きい数値を指定すると、最初のファイルフィルター文字列が規定値となります。
Title
ダイアログボックスのタイトルを指定します。この引数を省略すると「ファイルを開く」になります。
ButtonText
Macintoshでのみ指定できます。
MultiSelect
Trueを指定すると、複数のファイルを選択できます。Falseを指定すると、1つのファイルしか選択できません。既定値はFalseです。
戻値
選択したファイルのパスを返します。MultiSelectにTrueを選択した場合、パスを配列で返します。

プログラム実行例

指定したテキストファイルのパスを出力

DIM Excel = CREATEOLEOBJ("Excel.Application") DIM path = Excel.Application.GetOpenFilename("テキスト文書,*.txt,すべてのファイル,*.*") IF path <> FALSE THEN PRINT path Excel.Quit

指定したファイルのサイズを取得

DIM Excel = CREATEOLEOBJ("Excel.Application") DIM path = Excel.GetOpenFilename() IF path <> FALSE THEN DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") DIM File = FSO.GetFile(path) WITH File PRINT "名前:" + .Name PRINT "パス:" + .Path PRINT "サイズ:" + ROUND(.Size / 1024) + "KB" PRINT "種類:" + .Type ENDWITH ENDIF
結果
名前:service.txt
パス:D:\Documents\service.txt
サイズ:44KB
種類:テキスト ドキュメント

FileFilter

FileFilter引数で渡される文字列は「フィルタ文字列,ワイルドカード」の形式で記述します。複数のフィルタを指定する場合は、「フィルタ文字列1,ワイルドカード1,フィルタ文字列2,ワイルドカード2,…」のように各ペアをカンマで区切り記述します。

この項目を省略した場合、「すべてのファイル,*.*」が適用されます。

テキスト文書とすべてのファイルの場合、「テキスト文書,*.txt,すべてのファイル,*.*」と記述します。

1つのファイルフィルター文字列に複数のワイルドカードの表現を使用するには、「ビットマップ ファイル,*.bmp;*.dib」のように各ワイルドカードをセミコロン (;) で区切ります。

メモ帳

ファイルフィルタ
文字列
ワイルドカード
テキスト文書*.txt
すべてのファイル*.*

ペイント

ファイルフィルタ
文字列
ワイルドカード
ビットマップ ファイル*.bmp;*.dib
JPEG*.jpg;*.jpeg;*.jpe;*.jfif
GIF*.gif
TIFF*.tif;*.tiff
PNG*.png
ICO*.ico
HEIC*.heic
WEBP*.webp
すべてのピクチャ ファイル
すべてのファイル

Excel

ファイルフィルタ
文字列
ワイルドカード
すべての Excel ファイル*.xl*;*.xlsx;*.xlsm;*.xlsb;*.xlam;*.xltx;*.xltm;*.xls;*.xlt;*.htm;*.html;*.mht;*.mhtml;*.xml;*.xla;*.xlm;*.xlw;*.xjs;*.xjm;*.xjc;*.xjw;*.xja;*.xjt;*.odc;*.uxdc;*.ods
Excel ファイル*.xl*;*.xlsx;*.xlsm;*.xlsb;*.xlam;*.xltx;*.xltm;*.xls;*.xla;*.xlt;*.xlm;*.xlw;*.xjs;*.xjm;*.xjc
すべての Web ページ*.htm;*.html;*.mht;*.mhtml
XML ファイル*.xml
テキスト ファイル*.prn;*.txt;*.csv
すべてのデータ ソース*.odc;*.udl;*.dsn;*.mdb;*.mde;*.accdb;*.accde;*.dbc;*.iqy;*.dqy;*.rqy;*.oqy;*.cub;*.uxdc
Access データベース*.mdb;*.mde;*.accdb;*.accde
クエリ ファイル*.iqy;*.dqy;*.oqy;*.rqy
dBASE ファイル*.dbf
Microsoft Excel 4.0 マクロ シート*.xlm;*.xla
Microsoft Excel 4.0 ブック*.xlw
ワークシート*.xlsx;*.xlsm;*.xlsb;*.xls;*.xjs
作業状態ファイル*.xlw
テンプレート*.xltx;*.xltm;*.xlt;*.xjt
アドイン*.xlam;*.xla;*.xll;*.xja
ツールバー ファイル*.xlb
SYLK ファイル*.slk
DIF ファイル*.dif
バックアップ ファイル*.xlk;*.bak
OpenDocument スプレッドシート*.ods

Word

ファイルフィルタ
文字列
ワイルドカード
すべてのファイル*.*
すべての Word 文書*.docx;*.docm;*.dotx;*.dotm;*.doc;*.dot;*.htm;*.html;*.rtf;*.mht;*.mhtml;*.xml;*.odt
Word 文書*.docx
Word マクロ有効文書*.docm
XML ファイル*.xml
Word 97-2003 文書*.doc
すべての Web ページ*.htm;*.html;*.mht;*.mhtml
すべての Word テンプレート*.dotx;*.dotm;*.dot
Word テンプレート*.dotx
Word マクロ有効テンプレート*.dotm
Word 97-2003 テンプレート *.dot
リッチ テキスト形式*.rtf
テキスト ファイル*.txt
OpenDocument テキスト*.odt
WordPerfect 5.x*.doc
WordPerfect 6.x*.wpd;*.doc
Works 6-9 ドキュメント*.wps
ファイル修復コンバーター*.*
参考文献
Application.GetOpenFilename メソッド (Excel) | Microsoft Docs