[Excel VBA] Application.GetOpenFilename 方法解析
GetOpenFilename網(wǎng)站名稱: Excel技巧網(wǎng)|Excel 2010新領地
署名作者: gvntw
版權聲明: 版權所有 非作者本人轉(zhuǎn)載須經(jīng)許可并注明作者和出處
本文來自:
引用作品:
適用版本: 2010 2007 2003以前版本
語言環(huán)境: 簡體中文
內(nèi)容簡介:
文章地址:
http://www.exceltip.net/thread-12485-1-1-0.html學習方法: 掌握Excel技巧的關鍵是動手操作|下載≠知識
以下是筆者對 Excel VBA之 Application.GetOpenFilename 方法的理解,希望對初學者有所裨益:
功能:顯示標準的“打開”對話框,并獲取用戶文件名,而不必真正打開任何文件。
語法:Application.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
參數(shù)及說明如下表所示:
名稱 說明
FileFilter 可選參數(shù),代表指定文件篩選條件的字符串。如果省略該參數(shù),默認為:“所有文件(*.*),*.*”。
FilterIndex 可選參數(shù),指定默認文件篩選條件的索引號,取值范圍為 1 到由 FileFilter 所指定的篩選條件數(shù)目。如果省略該參數(shù),或者該參數(shù)的值大于可用篩選條件數(shù),則使用第一個文件篩選條件。
Title 可選參數(shù),指定對話框的標題。如果省略該參數(shù),則標題為“打開”。
ButtonText 可選參數(shù),僅用于 Macintosh 機器。
MultiSelect 可選參數(shù),如果為 True,則允許選擇多個文件名。如果為 False,則只允許選擇一個文件名。默認值為 False。
說明:
FileFilter 參數(shù)確定出現(xiàn)在“文件類型”下拉列表中的選項,由文件篩選字符串和通配符表示的文件篩選規(guī)則組成,每一部分和每一對都用半角逗號隔開。
如果省略 FileFilter,則此參數(shù)默認為“所有文件 (*.*),*.*”,這個字符串的前半部分“所有文件 (*.*)”將顯示在“文件類型”下拉列表框中,后半部分“*.*”確定要顯示哪些文件。
本方法返回選定的文件名或用戶輸入的名稱。返回的名稱可能包含路徑說明。如果 MultiSelect 為 True,則可配合Ctrl或Shift鍵選擇多個文件,返回值將是一個包含所有選定文件名的數(shù)組(即使僅選定了一個文件名)。如果用戶取消了對話框,則該值為 False。
示例代碼1:
Sub SelectAFile() 'MultiSelect省略默認為false,選擇單個文件
Dim filter As String
Dim fileToOpen
filter = "All Files(*.*),*.*,Word Documents(*.do*),*.do*," & _
"Text Files(*.txt),*.txt,Excel Files(*.xl*), * .xl * "
fileToOpen = Application.GetOpenFilename(filter, 4, "請選擇文件")
If fileToOpen = False Then
MsgBox "你沒有選擇文件", vbOKOnly, "提示"
Else
MsgBox "你選擇的文件是:" & fileToOpen, vbOKOnly, "提示"
End If
End Sub
上面的代碼將顯示標題為“請選擇文件”的對話框,只能選擇一個文件,“文件類型”下拉列表框有4個選項,打開時默認為第4個(Excel Files(*.xl*)),如下圖所示:
Sub SelectFiles() 'MultiSelect為true,可選擇多個文件
Dim filter As String
Dim fileToOpen
filter = "All Files(*.*),*.*,Word Documents(*.do*),*.do*," & _
"Text Files(*.txt),*.txt,Excel Files(*.xl*), * .xl * "
fileToOpen = Application.GetOpenFilename(filefilter:=filter, FilterIndex:=2, Title:="請選擇文件", MultiSelect:=True)
If Not IsArray(fileToOpen) Then
MsgBox "你沒有選擇文件", vbOKOnly, "提示"
Else
MsgBox "你選擇的文件是:" & vbCrLf & Join(fileToOpen, vbCrLf)
End If
End Sub
上面的代碼將顯示標題為“請選擇文件”的對話框,可以選擇多個文件,“文件類型”下拉列表框有4個選項,打開時默認為第2個(Word Documents(*.do*)),如下圖所示: