Excel 2010 VBA 入门 120 显示打开文件对话框

本文介绍了如何在Excel VBA中使用Application.GetOpenFilename方法和FileDialog对象来显示打开文件对话框。讲解了如何设置筛选条件、获取用户选择的文件路径,以及遍历选定文件的方法。此外,还提到了GetSaveAsFilename方法和内置Dialog对象的应用。
摘要由CSDN通过智能技术生成

目录

码1

Application.GetOpenFilename方法

码2

FileDialog对象

FileDialog对象的常用属性

使用FileDialog对象的属性Filters添加筛选

FileDialog对象的Show方法和Execute方法

遍历通过FileDialog对象选择的文件

Application.  GetSaveAsFilename方法

Application. Dialog对象


码1

    使用Application.GetOpenFilename方法显示打开文件的对话框,然后根据用户选择的文件进行相应的操作。

Option Explicit


Sub 选择文件1()
    Dim fileName As String
    fileName = Application.GetOpenFilename( _
        filefilter:="Excel 文件,xlsx,Excel 2003文件,*.xls", _
        FilterIndex:=2, _
        Title:="选择文件")
    If fileName = "false" Then
        MsgBox "取消了"
    Else
        MsgBox "选择的文件为:" & fileName
    End If
End Sub

Application.GetOpenFilename方法

    Application. GetOpenFilename方法可以显示一个打开文件的窗口,并返回用户所选择的文件路径,其语法为:     

Application.GetOpenFilename(FileFilter,Filterlndex,Title,ButtonText,MultiSelect)

    参数FileFilter为一个文本字符串,表示文件的筛选。该筛选文本用以筛选不同扩展名的文件,各个筛选类型之间以逗号隔开,按照“筛选说明,筛选通配符”的形式成对出现。如需要提供两个筛选:文本文件(Txt)和备份文件(BAK),则可以使用以下文本作为该参数:

文本文件(Txt),*.Txt,备份文件(BAK),*.BAK
  • 参数Filterlndex为一个大于0的整型数值,表示默认筛选的序号。
  • 参数Title为一个文本,表示打开文件对话框的标题。若该参数省略,则默认为“打开”。
  • 参数ButtonText为一个文本,表示对话框中按钮的显示文字。该参数只在Macintosh系统下有效。
  • 参数MultiSelect为一个逻辑值。当设置为True时,表示允许选择多个文件,反之则为只能选择一个文件。

    该方法具有返回值,可以根据用户的不同选择返回不同的值。

  • 若用户未选择任何文件或直接关闭窗口,则返回False。
  • 选择若将MultiSelect设置为False,且选择了一个文件,则返回一个文本类型的字符,表示该选中文件的完整路径。
  • 若将MultiSelect设置为True,且选择了若干个文件,则返回一个以1为下限的一位数组,其数组元素为选中的所有文件的完整路径。

    Application. GetOpenFilename方法仅能返回用户选择的文件的完整路径,而不能打开该文件。因而通常利用该方法获取用户指定的文件的完整路径,然后进行相应的操作。一般可以声明一个变量用以接受该方法的返回值。由于该方法的返回值可能为逻辑值、文本或者数组,因而可以声明一个变体型的变量。首先需要判断该变量所接受的返回值是否为False,若为False,则表示用户放弃选择,反之,可以根据参数MultiSelect的值对文本或者数组进行访 问,以获得选中的文件的完整路径。

码2

使用FileDialog对象打开文件对话框,并获取用户选择的文件。

Sub 选择文件2()
    Dim fileName As String
    With Application.FileDialog(msoFileDialogOpen)
        .Filters.Add "Excel", "*.xlsx", 1
        .Filters.Add "Excel 2003", "*.xls", 2
        .FilterInd
  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ngbshzhn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值