Ms word Word互操作在计划任务中不起作用

Ms word Word互操作在计划任务中不起作用,ms-word,interop,ms-office,scheduled-tasks,windows-server-2008,Ms Word,Interop,Ms Office,Scheduled Tasks,Windows Server 2008,我目前正在开发一个脚本,它接收Word文档,在Word中打开它,然后将Word文件打印为PDF格式。无论是在我的机器上还是在服务器上手动运行,一切都非常好。当我尝试将其作为计划任务运行时,问题就出现了 其中一项要求是,这项工作应在夜间进行,无需任何干预。当我设置了一个计划任务来执行此操作,并将安全选项设置为“仅当用户登录时运行”时,一切正常。问题是,这必须在有人登录或没有人登录的情况下运行。如果我将任务设置为“无论用户是否登录都运行”,脚本将在以下行失败: wordDoc = MSWord.Do

我目前正在开发一个脚本,它接收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()

此任务正在Windows Server 2008和Office 2007上运行


我是否应该采取另一种方法来解决这个问题?

我相信很多人都尝试过做一些接近你正在尝试的事情,但都失败了。关于不能在类似服务器的模式(无人值守等)下运行任何基于office互操作的解决方案,有很多传言

看到和


我知道这可能不是你想要的答案,但事实就是如此

我在Windows Server 2008下从Windows服务自动化Office时遇到问题,即使在Windows Server 2003下也可以正常工作。这个问题也发生在Open调用中,尽管它实际上引发了一个异常,而不是简单地返回null。无论如何,你可能想试试这个

我试着按照小川在年给出的建议去做,结果似乎奏效了。这很奇怪,但小川先生发现了这一点,这是他应得的荣誉

“Ogawa Hack”摘要:为系统配置文件创建一个桌面文件夹,如下所示:

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

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

…取决于您是否有64位窗口

此外,文件夹需要对“驾驶”Office的任何用户具有写入权限


[编辑:更正链接URL]

我遇到了完全相同的问题,花了很多时间试图解决它,遇到了各种各样的死胡同,最终我得到的“解决方案”是:不使用Windows Server 2008。如果你能找到解决办法,我会洗耳恭听。那么,如果你不使用Server2008,它能工作吗?在Windows2003Server或XP上,是的。对Vista不太清楚。我在寻找答案。我在一堆谷歌搜索中找不到任何关于正在发生什么的信息,所以谢谢你的输入。我会再给它几个小时,如果一个“解决方案”没有发布,我会把你的标记为答案。谢谢你。只要时间允许,我就得去看看。不管是否有效,我都会发回。效果非常好!这让我省去了很多(额外的)麻烦…现在让我们希望没有任何东西能真正从服务中运行Word。这对我来说很有效,但我必须将用户添加到本地管理组,并检查“以最高权限运行”选项。很棒的黑客,甚至不知道如何识别它。就像变魔术一样:)是的,我也一样。。在过去的5个小时里,我一直在努力,而创建这个文件夹就成功了。。。