使用活动打开的 Excel 电子表格将宏作为独立文件运行

使用活动打开的 Excel 电子表格将宏作为独立文件运行

我有一个宏,目前我们下载一个电子表格更新:它会自动打开(但不保存)--来自我们自定义的内部 Web 界面。电子表格名称每次都会更改。当前的使用说明是打开 VBA 编辑器,将宏复制到新模块中,然后运行宏。

我想制作一个独立文件来制作类似这样的说明,打开工作簿,然后双击文件。

我的想法是,他们只能打开有问题的工作簿,独立文件代码将是类似的use open workbook(非常通用)。

我读过关于 vbs 的文章,但我所做的只是将我的宏从 .txt 更改为 vbs,显然它还不起作用。有人能给我指出正确的方向吗?

答案1

虽然我能够让它工作,但我没有使用这种方法,因为它涉及在 Office 中启用“信任 VBA 项目”设置,这对我来说听起来不安全。

https://security.stackexchange.com/questions/205803/is-it-safe-to-enable-trust-access-to-the-vba-object-model-microsoft-office/205814#205814

它的工作原理如下:

Dim  xlApp, xlBook

Set xlApp = getObject( , "Excel.Application")
Set xlBook = xlApp.ActiveWorkbook

xlBook.VBProject.VBComponents.Import "\\PATH\Module1.bas"
xlApp.Run "Sub_Name"
'objExcel.ActiveWorkbook.Close


xlApp.Application.Quit
WScript.Echo "Finished."
WScript.Quit

我最终做的是通过 --> 分发自定义“OfficeUI”https://www.freesoftwareservers.com/display/FREES/Distributing+Macro+via+Add-In+-+Customized+Ribbon+-+Via+Batch

由于某种原因,在通过我们的 Web 界面中的链接加载 Excel 时,XLSTART 和 Personal.xlsb 中的文件均未加载。但是,OfficeUI 自定义功能区已加载。我仍然将 AddIn.xlam 放入 XLSTART,因为 Excel 不会警告“宏”,但它在启动时未加载。不过这没关系,因为 OfficeUI 直接调用了文件 !Sub。

相关内容