Sub XXX() Dim arr() arr = Application.GetOpenFilename("所有支付檔案 (*.xls;*.xlsx;*.csv),*.xls;*.xlsx;*.csv,Excel 檔案 (*.xls),*.xls,Excel2007 檔案 (*.xlsx),*.xlsx,CSV 檔案 (*.csv),*.csv", , "選擇檔案", , True) For i = LBound(arr) To UBound(arr) Cells(i, 1).Value = arr(i) NextEnd Sub
以上例子為檔案多選
以下是MICROSOFT的原文
| Application.GetOpenFilename 方法 |
顯示標準的“開啟”對話方塊,並擷取使用者檔案名稱,而不必真正開啟任何檔案。
文法
運算式.GetOpenFilename(FileFilter,
FilterIndex, Title, ButtonText, MultiSelect)
運算式 一個代表 Application 對象的變數。
參數
| 名稱 |
必選/可選 |
資料類型 |
描述 |
| FileFilter |
可選 |
Variant |
一個指定檔案篩選條件的字串。 |
| FilterIndex |
可選 |
Variant |
指定預設檔案篩選條件的索引號,取值範圍為 1 到由 FileFilter 所指定的篩選條件數目。如果省略該參數,或者該參數的值大於可用篩選條件數,則使用第一個檔案篩選條件。 |
| Title |
可選 |
Variant |
指定對話方塊的標題。如果省略該參數,則標題為“開啟”。 |
| ButtonText |
可選 |
Variant |
僅限 Macintosh。 |
| MultiSelect |
可選 |
Variant |
如果為 True,則允許選擇多個檔案名稱。如果為 False,則只允許選擇一個檔案名稱。預設值為 False。 |
傳回值
Variant
說明
在 FileFilter 參數中傳遞的該字串由檔案篩選字串對以及後跟的 MS-DOS 萬用字元檔案篩選規範組成,中間以逗號分隔。每個字串都在“檔案類型”下拉式清單方塊中列出。例如,下列字串指定兩個檔案篩選 - 文本和載入宏:“文字檔 (*.txt),*.txt,載入宏檔案 (*.xla),*.xla”。
要為單個檔案篩選類型使用多個 MS-DOS 萬用字元運算式,需用分號將萬用字元運算式分開。例如:“Visual Basic 檔案 (*.bas; *.txt),*.bas; *.txt”。
如果省略 FileFilter,則此參數預設為“所有檔案 (*.*),*.*”。
本方法返回選定的檔案名稱或使用者輸入的名稱。返回的名稱可能包含路徑說明。如果 MultiSelect 為 True,則傳回值將是一個包含所有選定檔案名稱的數組(即使僅選定了一個檔案名稱)。如果使用者取消了對話方塊,則該值為
False。
本方法可能更改當前磁碟機或檔案夾。