【发布时间】:2013-08-20 10:25:00
【问题描述】:
我正在尝试将 Visio 2007 与 C#(VS 2012 和 windows 7 操作系统)集成,但在运行代码时出现错误
无法将“Microsoft.Office.Interop.Visio.ApplicationClass”类型的 COM 对象转换为接口类型“Microsoft.Office.Interop.Visio.IVApplication”。此操作失败,因为 IID 为“{000D0700-0000-0000-C000-000000000046}”的接口的 COM 组件上的 QueryInterface 调用因以下错误而失败:库未注册。 (来自 HRESULT 的异常:0x8002801D (TYPE_E_LIBNOTREGISTERED))。
代码 sn-p:
使用 IVisio = Microsoft.Office.Interop.Visio;
内部方法
var app = new IVisio.ApplicationClass();
var docs = app.Documents; (Error coming at this point)
var doc = docs.Add("");
var page = app.ActivePage;
var shape0 = page.DrawRectangle(1, 2, 6, 3);
shape0.Text = "Hello World";
我的机器上安装了 Microsoft Office 2010 和 Visio 2007。
参考库:Microsoft.Office.Interop.Visio(尝试了 Microsoft Visio 12 类型库版本 4.12.0.0 (visio 2007) 和版本 14.0.0.0 (visio 2010),但出现相同的错误。)
【问题讨论】:
标签: c# .net automation visio