【发布时间】:2016-08-05 20:20:55
【问题描述】:
我正在尝试连接到已经存在的 Word 窗口。
设置 WordApp = GetObject(, "Word.Application")
如果 UAC 已关闭,则可以正常工作。如果 UAC 设置为“默认”,我会收到错误消息。 “ActiveX 组件无法创建对象”。
我在实验中注意到,如果 Word 以“以管理员身份运行”启动,则一切正常。不幸的是,我希望运行的框/登录可能没有管理员权限。
【问题讨论】:
我正在尝试连接到已经存在的 Word 窗口。
设置 WordApp = GetObject(, "Word.Application")
如果 UAC 已关闭,则可以正常工作。如果 UAC 设置为“默认”,我会收到错误消息。 “ActiveX 组件无法创建对象”。
我在实验中注意到,如果 Word 以“以管理员身份运行”启动,则一切正常。不幸的是,我希望运行的框/登录可能没有管理员权限。
【问题讨论】:
这听起来像是 2006 年开发人员接受的一个问题。
您希望两个进程具有相同的完整性级别。听起来好像您正在运行提升的 IDE 中进行测试,通常情况下应该如此。如果是这样,那么您想要自动化的流程也必须提升。
正常运行时这应该不是问题,因为这两个进程通常会在同一级别运行,标准用户。如果您需要除此之外的其他内容,则需要带有 uiAccess = True 的清单,并且您的代码必须经过签名并正式安装。
请参阅Windows Integrity Mechanism Design 中的用户界面特权隔离 (UIPI) 和完整性。
但是automating Office has been deprecated for a very long time.
【讨论】: