Word как COM-объект не имеет атрибутов / возможность устанавливать атрибуты - PullRequest
0 голосов
/ 08 марта 2019

Мне жаль, что это мне совершенно чуждо, но у меня был ранее работающий скрипт, который работал примерно так:

$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 голосов
/ 08 марта 2019

Иногда COM-объекты Word / Excel / PPT работают дико.Таким образом, использование их не рекомендуется для целей автоматизации самой Microsoft (извините, но не смог найти источник).Но независимо от того, что я лично использую, все это время:).

Восстановление системы или закрытие и повторное открытие сессии Powershell на самом деле исправляет эти проблемы для меня.

К сожалению, я пока не могу найти программный способ справиться с этим.Ждем дальнейших ответов.(+1)

...