如何在 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 數據類型可以處理這兩種可能性。

Leave a Comment

HTKK 5.0.3

HTKK 5.0.3

HTKK 是稅務總局免費發布的報稅支援軟體,提供企業快速建立報稅表。了解HTKK的安裝步驟與升級功能。

有用的 Microsoft Power Query 日期函數

有用的 Microsoft Power Query 日期函數

探索 Excel 中的 Microsoft Power Query 日期函數,快速處理日期計算和操作,其中包含添加天數、提取日期部分等功能的詳細說明。

如何在 Excel 2019 中使用 3D 地圖功能

如何在 Excel 2019 中使用 3D 地圖功能

3D 地圖是 Excel 2019 中提供的令人興奮的可視化分析功能,讓你能夠在 Excel 中創建動態的 3D 地圖。探索如何利用這項技術提升數據分析的效果。

如何在 Excel 中使用 SKEW 和 SKEW.P 函數

如何在 Excel 中使用 SKEW 和 SKEW.P 函數

了解如何在 Excel 中使用 SKEW 和 SKEW.P 函數來衡量數據分佈的偏度,這對於分析數據的對稱性至關重要。

如何為 Excel 儀表板創建時間線切片器

如何為 Excel 儀表板創建時間線切片器

時間軸切片器的工作方式與標準切片器的工作方式相同,因為它允許您使用視覺選擇機製過濾數據透視表。了解如何在 Excel 中使用時間軸切片器來高效管理日期字段。

如何在 Excel 2016 中使用 XLOOKUP 函數

如何在 Excel 2016 中使用 XLOOKUP 函數

了解如何在 Excel 2016 中使用 XLOOKUP 函數,這是一個 VLOOKUP 函數的優秀替代品,具有更強大和靈活的功能!

智能表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 開發的商業和生產力應用程式。