在.vb文件中引用VBA代码(具有UiPath调用VBA活动)

时间:2018-10-08 11:25:38

标签: excel vba uipath

因此,我不确定该问题是否需要UiPath软件方面的知识才能得到回答。我为公司开发了许多Excel宏,并且随着我获得越来越多的宏,管理它们变得越来越困难。

我们也在公司内部开发了一些机器人,我注意到该机器人具有一项活动,您可以在Excel应用程序范围内调用VBA代码。此活动将读取带有代码的.vb文件,并调用您在该文件中指定的任何方法作为已激活的Excel应用程序中的宏。

理想情况下,我想将所有VBA代码提取到单独的文件中,并让机器人通过此活动执行宏。这样可以更轻松地管理代码。

然后我的问题是,是否有可能将我创建的包含实用程序方法的模块提取到.vb文件中,并在其他宏文件中进行引用? / p>

我不确切知道此活动如何调用代码以及对其施加了哪些限制。在Excel中,我可以将可重用的方法存储在模块中,并从其他模块中调用它们。这就是我想要在文件级别复制的内容。如果有某种方法可以在代码顶部添加导入语句以从其他模块检索方法,那么我可以在文件中调用它们。

我担心(和假设)的是,该活动只是将其读取为文本文件,而只是将其作为宏导入到Excel中。如果我想引用方法中的任何模块,则这些模块必须已经存在于Excel应用程序中。

我总是可以将实用程序方法粘贴到每个.vb文件中,但是这种做法破坏了使它更易于管理的目的。

在这里我能做些什么吗?

谢谢,
TRS

1 个答案:

答案 0 :(得分:0)

您绝对可以在(.dlls)中引用外部程序集UiPath。我尚未使用VB.Net项目完成此操作,但我已经使用C# Projects完成了此操作,在这种情况下,是同一件事。

请按照本教程操作:https://www.uipath.com/kb-articles/how-to-include-external-dll

要能够生成.dll,您将需要下载Visual Studio Community Edition并遵循有关如何编译VB代码的一些教程。

您的所有VB代码都将存在于此.dll中。这将是您每次需要时都可以访问的常规存储库或主库。据我了解,这是您的主要目标,对吧? “访问实用程序方法”。

我不知道您的宏中是否使用了特定的Excel引用,这可能会导致编译问题。因此,准备引用代码中所需的所有内容。

最后,要访问您的自定义方法,您需要引用.dll并使用名为Invoke Method的活动。

我希望这会有所帮助。