基于Excel的edrawingsapi

基于Excel的edrawingsapi,excel,vba,solidworks,Excel,Vba,Solidworks,我正在尝试通过excel使用edrawings VBA api。我已经下载了edrawingsdk,似乎api只通过用户表单运行。我通过excel为solidworks制作了一些vba宏,但与solidworks不同的是,文档非常有限。我只是想建立一个到API的连接,之后我应该能够从那里获取它 现在,我只想通过excel在edrawings中打开一个solidworks图形。因此,类似于以下内容: Sub OpenDrawing() Dim xlBook As Workbook Dim xls

我正在尝试通过excel使用edrawings VBA api。我已经下载了edrawingsdk,似乎api只通过用户表单运行。我通过excel为solidworks制作了一些vba宏,但与solidworks不同的是,文档非常有限。我只是想建立一个到API的连接,之后我应该能够从那里获取它

现在,我只想通过excel在edrawings中打开一个solidworks图形。因此,类似于以下内容:

Sub OpenDrawing()

Dim xlBook As Workbook
Dim xlsheet As Worksheet
Dim eDraw As New EModelViewControl
Dim FilePath As String

Set xlBook = ActiveWorkbook
Set xlsheet = xlBook.Sheets(1)

FilePath = Range("B1").Value

eDraw.OpenDoc FilePath, False, False, True, ""

End Sub
例如,范围B1为以下“C:\\U EngVault\000S\090\090-40400-01.SLDDRW”。我已经激活了EModelView2018类型库并运行了edrawings 2018。再说一次,一旦我能想出如何连接到程序,我应该很好,但我无法做到这一点

另外,我需要一个用户表单吗?还是我误解了

提前谢谢大家,

FFS88

另外,我需要一个用户表单吗?还是我误解了

是的,eDrawings API是eDrawings的OLE编程接口,并作为Microsoft ActiveX控件实现

因此,您必须将ActiveX控件放置在窗体上,并通过此控件访问api:

Me.EModelViewControl1.OpenDoc path_to_edrawings_file, False, False, False, ""
您可能从SOLIDWORKS API中了解到,无法启动新实例或连接到正在运行的实例。

请参见此和