网站首页 > 精选文章 正文
- 系统环境:Windows 10
 - Excel:2016版本
 
这个系列集锦一些常用的功能模块,在一些项目中会穿插应用
功能模块中又包括很多子模块,本文涉及的是:非当前Excel文件读写
今天讲讲如何使用VBA实现打开文件窗口,选择文件
Part 1:场景介绍
- 当我们使用VBA制作一个系统时,有的时候希望可以实现文件的手动选择功能
 - 然后对选择的文件进行自动化操作等
 - 类似于Excel界面中选择菜单文件-打开,弹出的对话框,如图1所示
 

图1 选择文件窗口
Part 2:代码实现
- 以下代码实现了打开窗口,并且限制只能选择后缀名为xlsx,txt,xlsm的文件
 
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
图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。排版和细节略作修改,发于头条
猜你喜欢
- 2024-12-10 赛博朋克2077下载完进不去怎么办 无法进入游戏解决方案
 - 2024-12-10 嵌入式学习之HEX转BIN文件
 - 2024-12-10 Andriod手机电池电量完美校正教程,让电池重放光芒
 - 2024-12-10 使用Nutch搭建自己的搜索引擎,开源软件推荐
 - 2024-12-10 IMX6ULL——启动流程(与stm32对比)
 - 2024-12-10 Linux下分析bin文件的10种方法
 - 2024-12-10 推荐两款好用的16进制编辑器
 - 2024-12-10 Java JDK是什么?JDK安装目录介绍
 - 2024-12-10 C# BIN文件读取以及CRC校验(匹配STM32F103)
 - 2024-12-10 和家亲摄像头刷萤石云不完美教程
 
- 最近发表
 
- 标签列表
 - 
- 向日葵无法连接服务器 (32)
 - git.exe (33)
 - vscode更新 (34)
 - dev c (33)
 - git ignore命令 (32)
 - gitlab提交代码步骤 (37)
 - java update (36)
 - vue debug (34)
 - vue blur (32)
 - vscode导入vue项目 (33)
 - vue chart (32)
 - vue cms (32)
 - 大雅数据库 (34)
 - 技术迭代 (37)
 - 同一局域网 (33)
 - github拒绝连接 (33)
 - vscode php插件 (32)
 - vue注释快捷键 (32)
 - linux ssr (33)
 - 微端服务器 (35)
 - 导航猫 (32)
 - 获取当前时间年月日 (33)
 - stp软件 (33)
 - http下载文件 (33)
 - linux bt下载 (33)
 
 
