VBA GetOpenFilename |如何在VBA中使用GetOpenFilename方法?

GetOpenFilename是一种方法,也是FSO的一个属性,此方法在VBA中用于查找具有文件名的特定文件并选择它,此方法的重要因素是提供用于打开它的文件名的路径,可以在函数中传递文件名的路径,也可以要求用户提供文件路径来选择它。

Excel VBA Application.GetOpenFilename

在某些情况下,我们需要访问特定的文件名,这可以通过VBA编码来实现。为了访问该文件,我们还需要提及文件夹路径和文件名以及其文件扩展名。为了获得文件名,许多编码器会给VBA输入框作为输入文件路径和文件名的选项。但这不是一个好的选择,因为当您在用户面前显示输入框时,他们并不总是记住文件路径,使用反斜杠将一个文件夹与另一个文件夹,文件名和文件扩展名分开。 。这使用户提供的输入变得更加混乱,最后,即使有一个很小的空格字符错误,所有内容也会被搞砸。最好的方法是用VBA的“ GetOpenFileName”方法替换输入框。

在本文中,我们将向您展示如何使用VBA GetOpenFileName来获取文件名而不会出现任何错误。

GetOpenFilename在Excel VBA中有什么作用?

VBA“ GetOpenFileName”允许用户从正在使用的计算机中选择文件,而无需打开文件。

借助“ GetOpenFileName”方法,我们实际上可以在用户面前显示一个对话框,以选择所需文件夹中的文件。 “ GetOpenFileName”将复制文件位置以及文件名和文件扩展名。

Excel VBA中的GetOpenFilename的语法

看一下“ GetOpenFilename”方法的语法。

  • 文件过滤器: 在此参数中,我们可以指定要显示的文件类型。例如,如果您提到“ Excel Files,*。xlsx”,它将仅显示以excel扩展名“ xlsx”保存的Excel文件,而不会显示其他文件。如果忽略,将显示所有类型的文件。
  • 筛选索引: 这样,我们限制用户选择文件类型。我们可以列出指定在下面可见的过滤器数量 文件过滤器。
  • 标题: 它显示选择文件对话框标题。
  • 按钮文字: 这仅适用于Macintosh。
  • 多选: 如果要选择多个文件,则为TRUE,否则为FALSE。默认值为FALSE。

Excel VBA中的GetOpenFilename的示例

下面是VBA Application.GetOpenFilename的示例。

您可以在此处下载此VBA GetOpenFilename Excel模板– VBA GetOpenFilename Excel模板

让我们写一个代码来获取文件名和路径地址。

步骤1: 启动子例程。

代码:

 Sub GetFile_Example1()结束Sub 

第2步: 将变量声明为String。

代码:

 Sub GetFile_Example1()昏暗的FileName作为字符串End Sub 

第三步: 对于此变量,我们将分配GetOpenFileName。

代码:

 Sub GetFile_Example1()昏暗的FileName作为字符串FileName = Application.GetOpenFilename()End Sub 

到目前为止,我已经忽略了所有参数。

第4步: 现在,在消息框中显示变量的结果。

代码:

 Sub GetFile_Example1()昏暗的FileName作为字符串FileName = Application.GetOpenFilename()MsgBox FileName End Sub 

现在,通过excel快捷键F5或手动运行代码,它将显示以下对话框以选择文件。

我将选择任何一个文件,然后单击“确定”。

选择文件后,在VBA中会出现一个如下所示的消息框。它显示完整的文件夹路径和所选的excel文件名以及文件扩展名。

如上图所示,我们可以看到各种文件。现在,我将添加第一个参数,即文件过滤器,作为“ Excel Files,*。xlsx”。

代码:

 Sub GetFile_Example1()昏暗的FileName作为字符串FileName = Application.GetOpenFilename(FileFilter:=“ Excel Files,*。xlsx”)MsgBox FileName End Sub 

现在,如果我使用F5键或手动运行此代码,我将仅看到扩展名为“ xlsx”的Excel文件。

这样,我们可以使用“ VBA Application.GetOpenFileName”方法来获取文件夹路径以及文件名和文件扩展名。