XL97: 如何使用 GetOpenFilename 方法

文章编号: 161930 - 查看本文应用于的产品
展开全部 | 关闭全部

本页

概要

本文提供了有关使用 Visual Basic 中 GetOpenFilename 方法,应用程序的宏的说明和示例。

更多信息

Microsoft 提供的编程示例只,用于说明不附带任何明示或暗示保证,其中包括但不是限于对适销性和/或针对特定用途的适用性的暗示的担保。本文假定您熟悉所演示的编程语言和工具用于创建和调试过程。Microsoft 支持专业人员可以帮助解释某个特定过程的功能,但他们不会修改这些示例以提供额外的功能或构建过程来满足您特定需要。
如果有限编程体验您可能需要联系 Microsoft 认证合作伙伴或 Microsoft 咨询服务。有关更多的信息请访问以下 Microsoft 网站:

Microsoft 认证合作伙伴-https://partner.microsoft.com/global/30000104

Microsoft 咨询服务-http://support.microsoft.com/gp/advisoryservice

有关可用的支持选项和有关如何与 Microsoft 联系的详细信息,请访问下面的 Microsoft 网站: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS在 Visual Basic GetOpenFilename 方法,为应用程序允许您在 Excel 中显示打开对话框,并从用户获得文件的名称,而不必真正打开任何文件。正常情况下文件的名称是返回到一个变量,并且以后在宏中使用。此方法具有所有这些都是可选的五个参数:
FileFilter
FilterIndex
标题
ButtonText
multiSelect
提供给函数没有参数允许打开对话框,将显示使用所有文件 (* *) 的文件筛选器,并使用默认对话框标题。下面是五个参数的每个的概述:

FileFilter

此参数包含两个部分。第一部分是将显示在列表文件类型下拉框中的打开对话框中的文本。参数的第二部分确定实际显示哪些文件。下面的示例将当前目录中显示文本的所有文件:

   X = Application.GetOpenFilename("Text Files (*.txt), *.txt")
				


您还可能使用多个通配符表达式对两个单独的通配符表达式进行筛选。本示例以 TXT 和 BAS 结尾的所有文件筛选器:
   X = Application.GetOpenFilename _
				
("Visual Basic 文件 (*.txt ; *.bas)、 *.txt,*.bas")

在使用 FileFilter 参数时指定的值是唯一显示的列表类型文件: 下拉框中。您可以在列出下拉列表列表中的其他项。此示例列出了下拉框中的文件与第一个被默认选择的两种类型:
   X = Application.GetOpenFilename _
				
("文本文件 (*.txt) *.txt 外, 接程序文件 (*.xla) *.xla")

FilterIndex

该可选参数指定默认情况下要使用的文件筛选器。如果指定没有筛选器索引,或者筛选器索引大于指定的筛选器的使用第一个筛选器。默认情况下,本示例使用两个文件筛选器但选择第二个 (*.xla 文件):
   X = Application.GetOpenFilename _
				
("文本文件 (*.txt) *.txt 外, 接程序文件 (*.xla) *.xla",2)

标题

标题指定文本将显示在顶部显示的对话框。打开我的文件将出现在使用本示例在对话框的文本:
   X = Application.GetOpenFilename _
				
("文本文件 (*.txt),*.txt"1,"打开文件")

ButtonText

该参数仅用于 Macintosh 计算机,可能会忽略,但您必须仍分配空间,它在您的参数中。 此参数指定用户是否可以从打开框选择多个文件。可以将它设置为 True 或 False。如果为 true 则,变量必须定义为变体数据类型,因为返回的值始终将数组中,即使只有一个文件被选定。本示例将合并所有上述参数和循环访问所有选定的文件并打开它们:
   Sub Open_Files

       'Defines the variable as a variant data type
       Dim X as variant

       'Opens the dialog
       X = Application.GetOpenFilename _
           ("Text Files (*.txt), *.txt, Add-in Files (*.xla), *.xla", 2, _
           "Open My Files", ,True)

       'Loops through every file that is selected and opens each one
       For Y = 1 to Ubound(X)
           Workbooks.Open X(Y)
       Next

   End Sub
				
,您可能会遇到的一个问题是如果用户单击取消按钮从对话框中,宏都将产生类型不匹配错误。变量的值将被设置为 False。标准错误捕获技术可用于补漏白,此问题:
Sub Open_Files

       'Defines the variable as a variant data type
       Dim X as variant

       'Continues to run the macro even if an error occurs
       On Error Resume Next

       'Opens the dialog
       X = Application.GetOpenFilename _
           ("Text Files (*.txt), *.txt, Add-in Files (*.xla), *.xla", 2, _
           "Open My Files", ,True)

       'Tests the variable X to see if it is valid
       If X = False then GoTo Cancel

       'Loops through every file that is selected and opens each one
       For Y = 1 to Ubound(X)
           Workbooks.Open X(Y)
       Next

       Exit Sub

       'If X was equal to false, displays a message and exits the macro
   Cancel:
       Msgbox "The Cancel button was selected."

   End Sub
				
有关使用 GetOpenFilename 方法的详细信息,在下面的文章 Microsoft 知识库中相应的查询:
153722XL: GetOpenFilename 方法是在 Win 95 的 MS Excel 中不同

141574XL: 如何创建打开多个选定的文件的宏

属性

文章编号: 161930 - 最后修改: 2006年11月23日 - 修订: 2.4
这篇文章中的信息适用于:
  • Microsoft Excel 97 标准版
关键字:?
kbmt KB161930 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 161930
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈