美文网首页UiPath 常见问题及解决办法
【UiPath 问题 04】Invoke VBA 无法执行

【UiPath 问题 04】Invoke VBA 无法执行

作者: Creator_蔚蓝 | 来源:发表于2018-08-27 10:56 被阅读275次

Invoke VBA 的执行原理:临时性地插入 VBA 文件到工作簿,执行完毕之后再将工作簿内的 VBA 文件删除。可以使用在 .xlsx.xlsm 类型的文件中。

项目

问题

VBA_Code.bas 文件内容如下:

Option Explicit
Sub TestVBA()
    MsgBox "Good!"
End Sub

得到如下错误信息:

错误信息

在打开 VBE 的情况下执行,弹出错误对话框时,VBE 内如下:


image.png

留意到 .bas 文件中有两个 Option Explicit 语句, 这样的 VBA 文件是不能通过编译的。换句话说,VBA 本身的错误会导致项目无法正常运行,而且该错误并不会给出明确的提示信息。

解决办法

  • 将 VBA_Code.bas 文件内的 Option Explicit 语句删除,VBA 能完美运行
Sub TestVBA()
    MsgBox "Good!"
End Sub

要点

  • 要事先调好 VBS,确保没有任何问题才能 INVOKE

  • INVOKE VBA 的时候,要注意 Option Explicit 语句,当 VBE 设置为自动插入 Option Explicit 语句时,就不要在文件中放置 Option Explicit 语句

  • INVOKE VBA 的工作方式:往目标工作簿插入 .bas 文件 > 将其命名与调用的文件一致 > copy 文件上的所有内容到 .bas 文件 > 执行 > 移除 .bas 文件。临时插入的 .bas 文件最终不会保留在工作簿中。


更多 UiPath 相关的资讯,请关注公众号:UiPath教程

UiPath教程

相关文章

网友评论

    本文标题:【UiPath 问题 04】Invoke VBA 无法执行

    本文链接:https://www.haomeiwen.com/subject/bqjziftx.html