未登录时Excel不会启动

时间:2012-12-03 19:14:54

标签: excel vbscript scheduled-tasks

这是我想要达到的事件的连续性: 计划任务 - 每天在同一时间运行并启动VBScript VBScript启动Excel工作簿并运行宏。这是片段 -

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

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

Excel 2003和Windows Server2003 64

3 个答案:

答案 0 :(得分:4)

看一下MS Knowledge Base - 据此,Office应用程序需要运行UI。

因此,尝试使用除系统用户之外的任何用户:

  

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

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

答案 1 :(得分:1)

不确定它是否已经解决,但我遇到了问题并通过以下步骤解决了。

创建以下文件夹

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

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

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

答案 2 :(得分:0)

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

enter image description here