我正在尝试从 Windows 7 64 位 VM 上的 Jenkins Windows 服务运行 Excel 宏。我有一个指定 VBS 文件的批处理文件。然后在 VBS 文件中列出 Excel 宏。批处理文件在本地运行良好,但是当我从 Jenkins 运行它时,出现以下错误:
Microsoft VBScript runtime error: ActiveX component can't create object: 'Excel.Application'
VBS 文件中以下各项的每个实例似乎都会出现该错误:
Set xlApp = CreateObject("Excel.Application")
随便搜了一下,发现很多人对
cscript
的版本有问题用于执行 VBS 文件。在 64 位计算机上,似乎 cscript
的 32 位版本必须使用。但无论我如何尝试强制 cscript
的那个版本要使用,Jenkins 似乎忽略它并显示相同的错误,这让我认为 cscript
版本不是我错误的原因。我确实在 Excel 中启用了宏并检查了 ActiveX 设置。就像我说的,双击批处理文件,一切正常。 Jenkins 一定是在做一些奇怪的事情来导致这个问题。
有任何想法吗?
最佳答案
尝试使用Set xlApp = GetObject("Excel.Application")
仔细阅读您的问题后,您似乎可能在使用可执行文件时遇到问题。嗯,你能不能给出一个完整的命令行,而不是运行/双击foo.vbs
类似于 script.exe foo.vba
.我编了script.exe,但你应该明白了,为什么不指定可执行文件呢?
我很少听说过 Jenkins,请注意提供您认为可能与此问题相关的任何文档链接。这对于将来遇到相同问题的 stackoverflower 很有用。
关于excel - 从 Jenkins 运行 Excel 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37573921/