Word作为COM对象没有属性/不能设置属性

时间:2019-03-07 21:30:01

标签: powershell ms-word com

对不起,这对我来说很陌生,但是我以前使用的脚本的功能如下:

$wd = new-object -comobject word.application

但是当我打印COM对象时,它的所有属性都有空白值。

PS C:\Users\XXX> $wd


Application                       : 
Creator                           : 
Parent                            : 
Name                              : 
Documents                         : 
Windows                           : 
ActiveDocument                    : 
ActiveWindow                      : 
Selection                         : 

它不能设置任何功能或执行任何功能

PS C:\Users\XXX> $wd.Visible = $true

Exception setting "Visible": "Unable to cast COM object of type 'Microsoft.Office.Interop.Word.ApplicationClass' to interface type 'Microsoft.Office.Interop.Word._Application'. This 
operation failed because the QueryInterface call on the COM component for the interface with IID '{00020970-0000-0000-C000-000000000046}' failed due to the following error: Error loading 
type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY))."
At line:1 char:1
+ $wd.Visible = $true
+ ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], SetValueInvocationException
    + FullyQualifiedErrorId : ExceptionWhenSetting

我尝试浏览相关问题,但无法查看错误是否完全相同。我已经运行了所有Windows更新并进行了Office的修复安装。 (运行Windows 10和Office 2013)

1 个答案:

答案 0 :(得分:0)

有时Word / Excel / PPT COM对象行为异常。因此,Microsoft本身不建议出于自动化目的使用它们(对不起,但找不到源)。但是,无论我个人使用什么,都一直使用它们:)。

系统还原关闭并重新启动Powershell会话实际上可以为我解决这些问题。

不幸的是,我还没有找到一种编程的方式来解决这个问题。因此,期待更多的答案。 (+1)