如何将VBA配置为仅打开Excel文件

若昂·阿尔维斯(JoãoAlves)

我有一本从不同工作簿复制信息的工作簿。要打开这些工作簿,请使用以下代码:

Dim nomearq As String
Dim nomearq2 As String
nomearq = Application.GetOpenFilename
Workbooks.Open Filename:=nomearq
nomearq2 = ActiveWorkbook.Name 

因此,如果所选文件不是excel文件,我试图不允许宏运行:

If Not Right(nomearq, 4) = ".xls" Or Right(nomearq, 5) = ".xlsm" Then
    MsgBox "Arquivo incompatível"

       Exit Sub

但是xlsm文件没有打开。我不知道为什么。

老虎头像

或者,您可以将用户限制为只能选择Excel文件,如下所示:

Sub tgr()

    Dim nomearq As Variant

    nomearq = Application.GetOpenFilename("Excel Files, *.xl??")    'This specifies that it can ONLY open Excel files
    If VarType(nomearq) = vbBoolean Then Exit Sub  'Pressed cancel

    With Workbooks.Open(nomearq)
        'do stuff with the workbook here
        MsgBox "opened " & nomearq

        .Close SaveChanges:=False   'Close the opened workbook when you're done with it
    End With

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将Intellij选项卡配置为仅某些文件类型的空间

如何将Windows桌面文件夹配置为仅显示图标?

如何将cmake配置为仅重建Java项目中已更改的.java文件?

如何将 Nginx 配置为仅提供 https 服务

如何将Spring配置文件设置为包?

如何将Quarkus日志记录配置为仅将“ my.package”类别跟踪到?

如何将Excel文件读取为数据框

如何将gpg配置为每个会话仅输入一次密码

如何将sbt test / ScalaTest配置为仅显示失败?

如何将Web应用程序配置为仅接受来自反向代理的连接

如何将NetBeans配置为仅浏览我编写的Java代码

如何将Postfix配置为仅中继来自特定域的电子邮件?

如何将中间件配置为仅重定向 404 状态代码

如何将VSFTPD配置为仅LAN访问,并限制对单个目录的访问

如何将Sails Controller配置为仅使用“发布”方法

如何将phpMyAdmin配置为仅显示root用户的特定数据库

如何将 TinyMCE 编辑器事件配置为仅触发一次?

运行每日 cron 作业时,如何将 Jenkinsfile 配置为仅运行特定阶段?

如何将CouchDB配置为仅接受具有特定aud(听众)声明的JWT?

如何将进程导出器配置为 prometheus 配置文件?

如何将WAMP配置为RESTful?

如何将php ini文件和.so文件恢复为原始配置

React-如何将PDF文件打开为href目标空白

如何将打开文件对话框的默认位置设置为程序位置

如何将新的Date()裁剪为仅显示所需的文件

如何将Eclipse和Maven配置为不重复文件夹列表?

如何将nix环境重置为原始用户配置文件?

如何将Squid配置为缓存所有下载的文件?

如何将.NET TraceListener配置为登录到TEMP文件夹