.bat 文件 运行 背景中的 excel 宏(或 .vbs 解决方案)

.bat file running an excel macro in the background (or .vbs solution)

我有以下问题: - 任务:有一个准备好的 excel 应该被打开,并且在打开时执行一个宏。 - 这个任务应该在每天的给定时间执行(比如在 10:00),执行应该在后台进行(这样用户就不会被打扰)。

问题: 1) 如果我尝试使用 .vbs 文件(在任务调度程序中)执行此操作,则执行在后台进行,但是,某些功能会丢失(有一个 excel 加载项与公司应用程序,它应该从中检索一些数据 -> 未建立连接,未收到任何数据)。我猜它缺乏特权或类似的东西。 VBS 预兆是:

Dim objExcel
Set objExcel=CreateObject("Excel.Application")
objExcel.Application.Run "'C:\SomePath.xlsm'!Module1.Controller"

2) 如果我尝试使用 .bat 文件,它可以工作(连接正常,已收到数据),但它会闪烁并且不在后台 运行。简单代码:

Start "C:\Program Files (x86)\Microsoft Office\root\Office16\Excel.exe" "C:\SomePath.xlsm"

有人遇到过这类问题吗? 我愿意接受任何其他解决方案。 :)

谢谢!

后台可以这样批量运行(主要部分是VBScript代码):

<!--
@Echo Off
Cscript //Nologo "%~f0?.wsf" //job:VBS
Exit /B
-->
<package>
  <job id="VBS">
    <script language="vbscript">
       Dim WshShell : Set WshShell = CreateObject("Wscript.Shell")
       WshShell.Run """C:\Program Files (x86)\Microsoft Office\root\Office16\Excel.exe 'C:\SomePath.xlsm'""", 0, True
    </script>
  </job>
</package>