「Excel-VBA」功能模块-操作另一个Excel文件-01-文件打开窗口

系统环境:Windows 10Excel:2016版本这个系列集锦一些常用的功能模块,在一些项目中会穿插应用功能模块中又包括很多子模块,本文涉及

  • 系统环境:Windows 10
  • Excel:2016版本

这个系列集锦一些常用的功能模块,在一些项目中会穿插应用

功能模块中又包括很多子模块,本文涉及的是:非当前Excel文件读写

今天讲讲如何使用VBA实现打开文件窗口,选择文件


Part 1:场景介绍

  • 当我们使用VBA制作一个系统时,有的时候希望可以实现文件的手动选择功能
  • 然后对选择的文件进行自动化操作等
  • 类似于Excel界面中选择菜单文件打开,弹出的对话框,如图1所示
「Excel-VBA」功能模块-操作另一个Excel文件-01-文件打开窗口

图1 选择文件窗口

Part 2:代码实现

  • 以下代码实现了打开窗口,并且限制只能选择后缀名为xlsxtxtxlsm的文件
Sub test()
    Set objFSO = CreateObject("Scripting.FileSystemObject")

    With Application.FileDialog(msoFileDialogOpen)
        .Title = "请选择文件"
        .AllowMultiSelect = True
        .Filters.Clear
        .Filters.Add "Excel文件", "*.xlsx;*.txt;*.xlsm"
        .FilterIndex = 2
        .InitialFileName = ThisWorkbook.Path
        .Show

        For Each wenJian In .SelectedItems
            longName = wenJian
            shortName = objFSO.GetFileName(wenJian)
            Debug.Print ("longName=" & longName)
            Debug.Print ("shortName=" & shortName)
            Call File_Insert(longName, shortName)
        Next
    End With
End Sub

「Excel-VBA」功能模块-操作另一个Excel文件-01-文件打开窗口

图2 执行过程

Part 3:部分代码解读

  • .Title = “请选择文件”,窗口的名字
  • .AllowMultiSelect = True,允许一次选择多个文件
  • .Filters.Add “Excel文件”, “*.xlsx;*.txt;*.xlsm”,只能选择这三种格式的文件:xlsx,txt,xlsm不同文件类型之间使用隔开,整体使用“”包络
  • .InitialFileName = ThisWorkbook.Path,默认打开到当前文件夹下,可以更改
  • For Each wenJian In .SelectedItems,对于每一个选择的文件可分别进行操作


以上,为本次的介绍内容,下回见。

本文首发于微信公众号:Excel高效办公之VBA。排版和细节略作修改,发于头条

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/9988.html

(0)
上一篇 2023年 4月 22日 下午11:54
下一篇 2023年 4月 22日 下午11:54

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信