Word中互操作不工作在计划任务(Word Interop Not Working In A Sch

2019-07-30 18:37发布

我目前正在开发一个脚本,需要一个Word文档,在Word中打开它,然后打印Word文件为PDF。 无论是我的机器或服务器上手动运行时,一切都很正常。 这个问题是在当我尝试运行它作为一种计划任务。

其中一项要求是,这应该是没有任何干预的夜间进行。 当我成立了一个计划任务要做到这一点,并设置安全选项“运行,只有当用户登录”一切工作正常。 问题是,这必须有或没有人被登录上运行。 如果我将任务设置为“运行用户是否登录或不”,剧本上以下行失败:

wordDoc = MSWord.Documents.Open(ref fileToConvert, ref refFalse, ref refTrue, 
                                ref RN, ref RN, ref RN, ref RN, ref RN,
                                ref RN, ref RN, ref RN, ref RN, ref RN,
                                ref RN, ref RN, ref RN);

MSWord.Documents.Open()的作品,但返回null。

这个任务是在Windows Server 2008上运行的Office 2007。

是否有其他的方法,我应该考虑这个?

Answer 1:

我相信很多人都试图做一些接近你正在尝试和失败。 有一个关于不能够在服务器般的模式下运行任何基于互操作的办公解决方案(无人值守等)很多喋喋不休。

见这里和这里

我知道这可能不是你要找的答案,但它仍然是它是如何!



Answer 2:

我已经在Windows Server 2008的办公室自动化从Windows服务,即使是工作在Windows Server 2003中的问题也发生在Open调用正常,虽然它实际上提出了一个例外,而不是简单地返回null问题。 无论如何,你可能想试试这个...

我试图在之后由H小川提出的意见, 这个MSDN线程 ,它似乎工作。 这是奇怪的,但荣誉给小川先生发现它。

在“小川哈克”的总结:创建系统配置文件的桌面文件夹,因为无论是

C:\Windows\SysWOW64\config\systemprofile\Desktop ,或

C:\Windows\System32\config\systemprofile\Desktop

...取决于你是否有64位Windows。

此外,该文件夹需要写任何用户“驾驶”办公室的许可。

[编辑:修正链接URL]



文章来源: Word Interop Not Working In A Scheduled Task