4

我有一个用于 excel 的示例插件:我创建了一个对象 InDesign.Application

        Dim myInDesign As InDesign.Application
        Dim myDoc As InDesign.Document
        Dim myPage As InDesign.Page

        myInDesign = CType(Activator.CreateInstance(Type.GetTypeFromProgID("InDesign.Application"), True), InDesign.Application)
        myDoc = myInDesign.Documents.Add    
        myDoc = myInDesign.ActiveDocument

InDesign 打开,但插件在以下位置显示错误:

`myInDesign = CType(Activator.CreateInstance(Type.GetTypeFromProgID("InDesign.Application"), True), InDesign.Application)`

错误内容:

Unable to cast COM object of type 'System.__ComObject' to interface type 'InDesign.Application'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{ABD4CBB2-0CFE-11D1-801D-0060B03C02E4}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).

为什么?你能帮助我吗?

4

1 回答 1

3

您是否使用 vb.net 的 com 接口添加了对 InDesign 类型库的引用?

在 Visual Studio 中打开引用面板并选择“COM”选项卡,然后InDesign在您的列表中查找。它将默认为Copy Local = False.

现在您可以像编写 vbs 一样使用 COM 函数了。

于 2013-05-08T20:10:57.263 回答