未login时Excel不会启动

这是我试图实现的事件的诡计:计划任务 – 每天同时运行并启动VBScript VBScript启动Excel工作簿并运行macros。 这里是片段 –

Set xlApp = CreateObject ("Excel.Application") xlApp.Visible = False Set xlBook = xlApp.Workbooks.Open (xlFilePath,0,False) xlApp.Run "Main" 

现在的问题是,如果我手动运行任务,它运行良好。 当我没有login到服务器时运行计划任务时,它不会启动Excel。 在没有用户login的情况下,我需要在上面的代码中更改以启动excel? 我已经将Excelmacros安全性设置为低。

Excel 2003和Windows Server2003 64

看看微软知识库 – 据此,Office应用程序需要一个UI来运行。

因此,请尝试使用任何用户,但系统用户:

例如,由SYSTEM帐户下的任务计划程序启动的代码与“服务器端”ASP代码或DCOM代码在相同的环境中运行。 因此,本文介绍的许多问题可能会发生。

此外,尝试从Excel文件中的Workbook_Open事件而不是xlApp.Run "Main"

不知道它是否已经解决,但我得到了问题,并通过以下步骤解决。

创build下面的文件夹(S)

(32Bit,总是)C:\ Windows \ System32 \ config \ systemprofile \ Desktop

(64Bit)以上的文件夹和C:\ Windows \ SysWOW64 \ config \ systemprofile \ Desktop

如果您使用系统帐户运行,这将解决问题。

您应该能够设置一个选项,以在运行任务时使用用户名,以及无论用户是否login,都可以运行该任务。 以下是Windows Server 2008的一个示例:

在这里输入图像说明