社交媒体 如何使用Excel 2016 VBA中的GetOpenFilename方法 - 傻瓜

如何使用Excel 2016 VBA中的GetOpenFilename方法 - 傻瓜

目录:

视频: 04_如何儲存VBA程式檔案(EXCEL VBA自動化 吳老師) 2025

视频: 04_如何儲存VBA程式檔案(EXCEL VBA自動化 吳老師) 2025
Anonim

如果您的VBA过程需要向用户请求文件名,您可以 使用InputBox函数并让Excel用户进行一些输入。一个输入框通常不是这项工作的最佳工具,但是,因为大多数用户发现难以记住路径,反斜杠,文件名和文件扩展名。换句话说,当输入文件名时,这太容易搞砸了。 为了更好地解决这个问题,可以使用Application对象的GetOpenFilename方法,它可以确保你的代码获得一个有效的文件名,包括它的完整路径。 GetOpenFilename方法显示熟悉的“打开”对话框(当您选择“文件”→“打开”→“浏览”时,Excel显示的对话框的死信号)。

<! - 1 - >

GetOpenFilename方法实际上并不打开指定的文件。这个方法只是将用户选择的文件名作为字符串返回。然后你可以编写代码来做任何你想要的文件名。

GetOpenFilename方法的语法

GetOpenFilename方法的官方语法如下:

对象。 GetOpenFilename([fileFilter],[filterIndex],[title],[buttonText],[multiSelect])

GetOpenFilename方法采用下面的可选参数。

<!

参数
FileFilter
确定出现在对话框 中的文件类型(例如*.TXT)。您可以为用户

指定多个过滤器以供选择。

FilterIndex

确定通过 默认对话框显示哪个文件过滤器。

标题

指定对话框的标题 栏的标题。

ButtonText

忽略(仅用于Macintosh版本的Excel)。 MultiSelect
如果为True,用户可以选择多个文件。
GetOpenFilename示例

fileFilter参数确定出现在对话框的“文件类型”下拉列表中的内容。这个参数由一对文件过滤器字符串组成,后跟通配符文件过滤器规范,用逗号分隔每个部分和一对。如果省略,则此参数默认为以下内容:

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

请注意,该字符串由两部分组成,用逗号分隔:

所有文件(*。*)

*。 *

该字符串的第一部分是“文件类型”下拉列表中显示的文本。第二部分确定对话框显示哪些文件。例如, *。 *表示

所有文件。 以下示例中的代码打开一个对话框,要求用户输入文件名。该过程定义了五个文件过滤器。请注意,VBA续行序列用于设置Filter变量;这样做有助于简化这个相当复杂的论点。

Sub GetImportFileName()Dim Finfo As String Dim FilterIndex As Long Dim Title As String Dim FileName As Variant'设置文件过滤器列表FInfo =“Text Files(*.txt),*。 txt,“&_”Lotus文件(*.prn),*。 prn,“&_”逗号分隔文件(*.csv),*。 csv,“&_”ASCII文件(*。asc),*。 asc,“&_”所有文件(*。*),*。 *“'显示*。 *默认FilterIndex = 5'设置对话框标题Title =“选择要导入的文件”'获取文件名FileName = Application。 GetOpenFilename(FInfo,_ FilterIndex,Title)'从对话框中处理返回信息If FileName = False Then MsgBox“No file was selected。 “Else MsgBox”您选择了“&FileName End If End Sub

以下是执行此过程时Excel显示的对话框。外观可能会有所不同,具体取决于您使用的Windows版本和您设置的显示选项。

GetOpen Filename方法显示一个可定制的对话框,并返回选定文件的路径和名称。它不打开文件。

在一个真实的应用程序中,您将使用文件名来做更有意义的事情。例如,您可能想要使用如下所示的语句打开它:

Workbooks。打开FileName

请注意,FileName变量被声明为Variant数据类型。如果用户单击取消,该变量包含一个布尔值(False)。否则,FileName是一个字符串。因此,使用Variant数据类型可以处理两种可能性。
如何使用Excel 2016 VBA中的GetOpenFilename方法 - 傻瓜

编辑的选择

在QuickBooks Online中使用批发帐单 - 虚拟

在QuickBooks Online中使用批发帐单 - 虚拟

QuickBooks Online为会计专业人员提供免费程序。您可以注册批发价格计划,也可以免费使用QBOA。如果你选择这样做(这是一个不错的选择!),你将需要知道如何管理的事情。从您的批发帐单订阅中删除客户有时候,事情并不是这样...

基于零基础的预算与QuickBooks 2012 - 傻瓜

基于零基础的预算与QuickBooks 2012 - 傻瓜

零基预算是一个非常有用和常用的预算策略在使用QuickBooks 2012之前,您应该先了解一下。基于零的预算与顶级预算相反。零基预算从下到上工作。零基预算始于个人收入,费用,资产,负债和所有者权益账户。它检查一个特定的...

在Sage Timeslips中10个有用的键盘快捷键 - 虚拟键盘

在Sage Timeslips中10个有用的键盘快捷键 - 虚拟键盘

键盘快捷键可以是Sage Timeslips 。启动或保存一张单据,将昨天,今天或明天的日期插入日期字段,并用一个或两个按键打开和关闭定时器。以下是十大最爱。按下它做什么Ctrl + N开始一个新的投票,而工作在...

编辑的选择

可以在Photoshop Elements 11中的任意形状图层上绘制多个图形 - 虚拟模型

可以在Photoshop Elements 11中的任意形状图层上绘制多个图形 - 虚拟模型

Photoshop Elements 11中创建的任何形状图层上的图形。您可以按照与选择相同的方式添加,减去,排除重叠和相交形状。请遵循以下步骤:创建第一个形状后,在工具选项:添加到形状区域中选择一个状态按钮:...

使用读卡器将图像下载到Mac上 - 傻瓜

使用读卡器将图像下载到Mac上 - 傻瓜

您的相机可能有一个USB端口,电缆,您可以使用下载您的图像。这种方法使用相机电池电力,也相当缓慢。如果您使用读卡器,则会更快地将图像存入计算机。如果您下载了大量的图像,请考虑购买FireWire读卡器; ...

在Photoshop Elements 10中创建形状图层后,在Photoshop Elements 10中绘制多个图形 - 虚拟形状

在Photoshop Elements 10中创建形状图层后,在Photoshop Elements 10中绘制多个图形 - 虚拟形状

可以在该图层上绘制其他形状。您可以按照与选择相同的方式添加,减去,重叠和相交形状。请记住,当您在元素中创建一个形状时,您正在创建一个基于矢量的元素。向量在数学上描述形状。 ...

编辑的选择

在您的IOS应用程序中添加模态视图 - 在iPhone和iPad上虚拟视图

在您的IOS应用程序中添加模态视图 - 在iPhone和iPad上虚拟视图

对于那些希望用户(或用户想要)在应用程序流之外执行某些操作的情况非常适用。而不是使用带有后退按钮的导航控制器,而是显示一个模式视图,其中的控件允许用户选择一个动作或...

Android应用程序开发:你的Twitter应用程序的文件 - 傻瓜

Android应用程序开发:你的Twitter应用程序的文件 - 傻瓜

,这个Android Studio项目包含大约100个文件和大约170个不同的文件夹。要制作Android Twitter应用程序,您需要专注于该项目的MainActivity。 java文件。但其他一些文件需要注意。 Twitter4J API jar文件Android没有内置的通信支持...