【发布时间】:2019-12-14 20:49:40
【问题描述】:
我正在处理一个需要在 Excel 中集成 Autocad 的项目。我编译了一个 DLL 并在 Excel 中成功引用,但调用一个简单的函数失败。
COM接口没有问题;该项目已勾选这些,我可以成功地从 excel 调用一个简单的“hello world”测试函数。我在 C# 项目中也有所有正确的引用。以后的工作需要多余的引用。
函数在这一行失败:
var acDocMgr = Autodesk.AutoCAD.ApplicationServices.Core.Application.DocumentManager;
无论是否打开 Autocad 应用程序都失败。
请帮忙。
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Linq;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Runtime;
using CadApp = Autodesk.AutoCAD.ApplicationServices.Application;
using Autodesk.AutoCAD.ApplicationServices;
[assembly: CommandClass(typeof(AutocadHandler.MyCommands))]
namespace AutocadHandler
{
[ClassInterface(ClassInterfaceType.AutoDual)]
public class MyCommands
{
public static void TestFunction()
{
string strFileName = "C:\\Users\\CORE I7\\Documents\\Drawing2XLS.dwg";
var acDocMgr = Autodesk.AutoCAD.ApplicationServices.Core.Application.DocumentManager;
acDocMgr.Open(strFileName, false);
acDocMgr.MdiActiveDocument.Editor.WriteMessage("Hello Excel");
}
}
}
Excel 返回的错误是:
运行时错误“-2146233036 (80131534)”:自动化错误
【问题讨论】: