繁体   English   中英

PowerShell计划任务以使用Excel Com Object运行脚本

[英]PowerShell scheduled task to run script with Excel Com Object

这是一些奇怪的行为,我有一个PowerShell脚本将XLSX文件转换为CSV文件。 此脚本在控制台中运行时没有问题。

尝试安排任务/脚本导致CSV文件没有数据(0字节)。

在我的搜索中,我发现这个TechNet论坛帖子证明是有帮助的。

本质上,包含使用Excel ComObject的Powershell脚本的计划任务失败,因为您必须创建一个文件夹(或64位窗口上的两个)。 完成此操作后,手动运行的任务将按预期工作。 当设置了触发器并且用户已注销时,它也可以工作。

有关Excel ComObject的这种行为是否记录在任何地方? 我花了3个小时试图让它工作。

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

(64Bit)

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

AFAIK MS没有关于此问题/限制的官方文档。 它应该报告为一个错误(联系Microsoft支持)。

桌面文件夹(默认情况下SYSTEM没有)的要求对于excel运行不是必需的,至少应该创建该文件夹(如果缺少)。

我不相信微软会支持您尝试做的事情。 根据此文档 ,Microsoft声明:

Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office可能会出现不稳定的行为和/或Office在此环境中运行时出现死锁或死锁。

该文档似乎适用于Office 2003,但我不确定他们之后是否已经改变了立场,因为我还没有找到其他文档说明支持。 就在2009年, 这个MVP重申它不受支持。 建议似乎是使用OpenXML SDK进行非交互式自动化,或使用其他第三方库直接使用文件格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM