我继承了一个 C# 程序,该程序用于使用 PDFCreator 1.2.3、MapInfo Professional 11、Word 2003 和 Excel 2003 在 Windows XP Pro SP3 上自动创建每日报告。这台 Win XP 计算机位于 Active Directory 域中,并且C# 程序作为域用户(具有管理权限)运行,用户登录并锁定桌面。Word 2003 可以自动打开模板、从模板创建文档并保存文档——所有这些都来自网络共享。Excel 2003 用于打开电子表格,其中包含链接到 ODBC 数据源的表格并刷新表格,将新数据拉入电子表格。MapInfo 用于从 ODBC 数据源生成地图图像。PDFCreator 用于获取电子表格、word 文档和图像,并将它们全部组合成每日报告。
随着 XP 的生命周期结束,我已将此程序移至 Win 8.1 EE 虚拟机(在同一域中)并安装了 Office 365 产品(Word 2013 和 Excel 2013)以及 PDFCreator 1.7.1 和 MapInfo Professional 12 用于自动创建此每日报告。该程序在新 VM 上手动运行时正常运行,但在与计划任务相同的用户身份运行时失败。此计划任务设置为以最高权限运行,并在用户未登录时运行。
我意识到这里有很多变数。操作系统必须更改,我们不再使用旧版本的 Office,我也无法获得旧版本的 PDFCreator 或 MapInfo。因此,我将把问题集中在我可以控制的事情上。我知道我在执行此操作时遇到的问题,但我不清楚现在是否真的可以这样做,因为我被要求尝试使用新的操作系统和应用程序(即 Word 2013 和 Excel 2013)让它工作。
因此,问题是:如何使用任务计划程序从 C# Interop/COM 程序自动化 Word 2013,以在用户登录并锁定桌面的情况下运行程序?