如何在 Excel 2016 VBA 中使用 GetOpenFilename 方法

如何在 Excel 2016 VBA 中使用 GetOpenFilename 方法

如果您的 VBA 過程需要向用戶詢問文件名,您可以使用 InputBox 函數並讓 Excel 用戶進行一些輸入。然而,輸入框通常不是這項工作的最佳工具,因為大多數用戶發現很難記住路徑、反斜杠、文件名和文件擴展名。換句話說,在輸入文件名時很容易搞砸。

為了更好地解決此問題,請使用 Application 對象的 GetOpenFilename 方法,這可確保您的代碼獲得有效的文件名,包括其完整路徑。GetOpenFilename 方法顯示熟悉的“打開”對話框(當您選擇“文件”→“打開”→“瀏覽”時,Excel 會顯示對話框的死鈴聲)。

GetOpenFilename 方法實際上並未打開指定的文件。此方法僅將用戶選擇的文件名作為字符串返回。然後您可以編寫代碼以使用文件名做任何您想做的事情。

GetOpenFilename 方法的語法

GetOpenFilename 方法的官方語法如下:

object.GetOpenFilename ([fileFilter], [filterIndex],
  [標題]、[按鈕文本]、[多選])

GetOpenFilename 方法採用以下可選參數。

爭論 它能做什麼
文件過濾器 確定出現在對話框中的文件類型
(例如,*.TXT)。您可以指定多個過濾器供用戶
選擇。
過濾器索引 確定對話框
默認顯示的文件過濾器。
標題 指定對話框標題
欄的標題。
按鈕文本 忽略(僅用於 Macintosh 版本的 Excel)。
多選 如果為 True,則用戶可以選擇多個文件。

GetOpenFilename 示例

fileFilter 參數確定出現在對話框的文件類型下拉列表中的內容。此參數由成對的文件過濾器字符串組成,後跟通配符文件過濾器規範,用逗號分隔每個部分和對。如果省略,則此參數默認為以下內容:

所有文件 (*。*), *。*

請注意,此字符串由兩部分組成,以逗號分隔:

所有文件 (*。*)

*.*

該字符串的第一部分是顯示在文件類型下拉列表中的文本。第二部分確定對話框顯示哪些文件。例如,*.* 表示所有文件。

以下示例中的代碼打開一個對話框,要求用戶輸入文件名。該過程定義了五個文件過濾器。請注意,VBA 行繼續序列用於設置過濾器變量;這樣做有助於簡化這個相當複雜的論點。

子 GetImportFileName()
  將 Finfo 調暗為字符串
  Dim FilterIndex As Long
  將標題變暗為字符串
  將文件名變暗為變體
' 設置文件過濾器列表
  FInfo = “文本文件 (*.txt),*.txt,” & _
      “蓮花文件 (*.prn),*.prn,” & _
      “逗號分隔文件 (*.csv),*.csv,” & _
      “ASCII 文件 (*.asc),*.asc,” & _
      “所有文件 (*。*),*。*”
' 默認顯示 *.*
  過濾器索引 = 5
' 設置對話框標題
  標題 = “選擇要導入的文件”
'獲取文件名
  FileName = Application.GetOpenFilename (FInfo, _
    過濾器索引、標題)
' 處理來自對話框的返回信息
  如果 FileName = False 那麼
    MsgBox “沒有選擇文件。”
  別的
    MsgBox “您選擇了” & 文件名
  萬一
結束子

這是執行此過程時 Excel 顯示的對話框。外觀可能會有所不同,具體取決於您使用的 Windows 版本和您設置的顯示選項。

如何在 Excel 2016 VBA 中使用 GetOpenFilename 方法

GetOpen Filename 方法顯示一個可自定義的對話框並返回所選文件的路徑和名稱。它不會打開文件。

在實際應用程序中,您可以使用文件名做一些更有意義的事情。例如,您可能希望使用如下語句打開它:

Workbooks.Open 文件名

請注意,FileName 變量被聲明為 Variant 數據類型。如果用戶單擊取消,則該變量包含一個布爾值 (False)。否則, FileName 是一個字符串。因此,使用 Variant 數據類型可以處理這兩種可能性。


智能表9.1.1

智能表9.1.1

Smartsheet 是一個動態工作平台,可讓您管理專案、建立工作流程以及與團隊合作。

共享點

共享點

SharePoint 是一個基於 Web 的協作系統,它使用各種工作流程應用程式、「清單」資料庫和其他 Web 元件以及安全功能來控制業務群組的協同工作。

萬年曆1.0.38/1.0.36

萬年曆1.0.38/1.0.36

萬年日曆是一款手機上的日曆檢視應用程式,可協助您在手機上快速查看陰陽日期,從而安排您的重要工作。

微軟 Outlook 2021

微軟 Outlook 2021

Microsoft Outlook 是由 Microsoft Corporation 開發的商業和生產力應用程式。

點擊按鈕

點擊按鈕

ClickUp 是所有企業評價最高的生產力平台之一。Google、Booking.com、San Diego Padres 和 Uber 等大型企業都使用 ClickUp 來提高工作效率。

PDF-XChange 檢視器 2.5.322.10

PDF-XChange 檢視器 2.5.322.10

PDF 已成為閱讀、建立和傳送文字文件的常用格式。反過來,用於此類文件的程式數量也有所增加。PDF-XChange Viewer 是數量不斷增長的 PDF 檢視器之一。

阿帕契開放辦公室

阿帕契開放辦公室

Apache OpenOffice 提供了一整套可與 Microsoft 365 競爭的 Office 應用程序,尤其是 Excel、PowerPoint 和 Word。它允許您更有效地管理您的項目,並支援多種文件格式。

下載 iTaxviewer 1.8.7

下載 iTaxviewer 1.8.7

iTaxViewer軟體是當今最受歡迎的XML檔案讀取軟體。該軟體是用於讀取稅務總局 XML 格式電子報稅單的應用程式。

硝基 PDF 閱讀器

硝基 PDF 閱讀器

Nitro PDF Reader 是一款方便的 PDF 編輯器,涵蓋了大多數人每天使用 PDF 文件執行的所有基本任務。

福昕閱讀器12

福昕閱讀器12

Foxit Reader主要是一個PDF閱讀器,還允許您建立PDF文件、對其進行簽名、編輯以及添加註釋。它適用於作業系統,有 Microsoft Office 軟體包中各種程式的插件。