GetOpenFilename的基本用法


GetOpenFilename

'一、概述基本語法

Application.GetOpenFilename 方法

顯示標准的“打開”對話框,並獲取用戶文件名,而不必真正打開任何文件,只是把打開文件名稱返回程序。

'GetOpenFilename相當於Excel打開窗口,通過該窗口選擇要打開的文件,並可以返回選擇的文件完整路徑和文件名。

語法:

'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

說明

如果點擊了取消,返回false 

'二、示例

'1、打開文件類型(word和excel)

在 FileFilter 參數中傳遞的該字符串由文件篩選字符串對以及后跟的 MS-DOS 通配符文件篩選規范組成,中間以逗號分隔。每個字符串都在“文件類型”下拉列表框中列出。例如,下列字符串指定兩個文件篩選 - 文本和加載宏:“文本文件 (*.txt)、*.txt、加載宏文件 (*.xla)、*.xla”。

要為單個文件篩選類型使用多個 MS-DOS 通配符表達式,需用分號將通配符表達式分開。例如:“Visual Basic 文件 (*.bas; *.txt)、*.bas; *.txt”。

如果省略 FileFilter,則此參數默認為“所有文件 (*.*),*.*”。

 

Sub test1()

    Dim fileToOpen

    fileToOpen = Application.GetOpenFilename("文本文件 (*.txt)、*.txt、加載宏文件 (*.xla)、*.xla ")

MsgBox "Open " & fileToOpen

End Sub

注:如果點擊了取消,返回false

 

2.打開多種文件類型,默認顯示word文件

本方法返回選定的文件名或用戶輸入的名稱。返回的名稱可能包含路徑說明。如果 MultiSelect 為 True,則返回值將是一個包含所有選定文件名的數組(即使僅選定了一個文件名)。如果用戶取消了對話框,則該值為False

 

Sub test2()

    Dim fileToOpen

    fileToOpen = _

        Application.GetOpenFilename("Excel2003文件,*.xls,Word文件,*.doc,文本文件,*.txt", 2, _

        "打開您想查詢的文件")

    MsgBox fileToOpen

End Sub

3.選擇多個文件,返回數組

Sub test3()
    Dim arr
    arr = _
        Application.GetOpenFilename("Excel2010文件,*.xlsx,Word文件,*.docx,文本文件,*.txt", _
        3, MultiSelect:=True)
    MsgBox arr(0)
End Sub

4.改變窗口默認路徑

ChDrive 語句 改變當前的驅動器。

ChDrive drive

必要的 drive 參數是一個字符串表達式,它指定一個存在的驅動器。如果使用零長度的字符串 (""),則當前的驅動器將不會改變。如果 drive 參數中有多個字符,則 ChDrive 只會使用首字母。 在 Macintosh 中, ChDrive 將當前文件夾改變到指定驅動器的根文件夾。

 

ChDir 語句  改變當前的目錄或文件夾。

ChDir path

必要的 path 參數是一個字符串表達式,它指明哪個目錄或文件夾將成為新的缺省目錄或文件夾。path 可能會包含驅動器。如果沒有指定驅動器,則 ChDir 在當前的驅動器上改變缺省目錄或文件夾。

 

ChDir 語句改變缺省目錄位置,但不會改變缺省驅動器位置。例如,如果缺省的驅動器是 C,則下面的語句將會改變驅動器 D 上的缺省目錄,但是 C 仍然是缺省的驅動器:

 

ChDir "D:\TMP"   

在 Power Macintosh 中,默認驅動器總是改為在 path 語句中指定的驅動器。完整路徑指定由卷標名開始,相對路徑由冒號 (:) 開始. ChDir 可以辨認路徑中指定的別名:

 

ChDir "MacDrive:Tmp"    ' 在 Macintosh 中。

注意 當改變相對路徑時,在 Microsoft Windows 和 Macintosh 中使用不同符號:

 

ChDir ".."    ' 在 Microsoft Windows 中,上移一層目錄.

ChDir "::"    ' 在 Macintosh 中,上移一層目錄。

 

Sub test4()

    Dim fileToOpen

    ChDrive "E"

    ChDir ThisWorkbook.Path

     fileToOpen = Application.GetOpenFilename("Excel2003文件,*.xls,Word文件,*.doc,文本文件,*.txt", 1)

     MsgBox fileToOpen

End Sub

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM