Application.GetOpenFilename メソッド

本ページには広告が含まれています。

フォルダを選択させるにはShell.BrowseForFolder メソッドを使います。

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

Application オブジェクトを返すメソッド・プロパティ

Application.GetOpenFilename メソッド
Microsoft Excelアプリケーションを表すApplication オブジェクトを返します。
Borders.Application プロパティ
Excel.GetOpenFilenameが属するApplication オブジェクトを返します。

プログラム実行例

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

UWSC
DIM Excel = CREATEOLEOBJ("Excel.Application")
DIM path = Excel.Application.GetOpenFilename("テキスト文書,*.txt,すべてのファイル,*.*")

IF path <> FALSE THEN PRINT path

Excel.Quit
使用関数

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

UWSC
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
結果
CSV
名前:     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
ファイル修復コンバーター*.*

参考文献

  1. Application.GetOpenFilename メソッド (Excel) | Microsoft Learn

関連記事

Application.FindFile メソッド (Excel)
[ファイルを開く]タイアログボックスを表示します。ファイルを正しく開けたらTrue、開けなければFalseを返します。
Shell.BrowseForFolder メソッド
フォルダ選択のダイアログボックスを表示し、選択したフォルダのFolderオブジェクトを返す。
DELETEFILE関数 (スクリプト関数)
テキストファイルを削除します。
FCLOSE関数 (スクリプト関数)
テキストファイルを閉じます。
FDELLINE関数 (スクリプト関数)
テキストファイルの指定行を削除します。
FGET関数 (スクリプト関数)
テキストファイルの読み込みを行います。
FOPEN関数 (スクリプト関数)
テキストファイルを開き、ファイルIDを取得します。
GETDIR関数 (スクリプト関数)
FPUT関数 (スクリプト関数)
テキストファイルの書き込みを行います。
Folder.CopyHere メソッド (Shell)
1つまたは複数のアイテムをフォルダにコピーします。