首页 > 解决方案 > 通过 Excel 的 eDrawings API

问题描述

我正在尝试通过 excel 使用 edrawings VBA api。我已经下载了edrawings SDK,似乎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:\_EngVault\000S\090\090-40400-01.SLDDRW”。我已经激活了 EModelView2018 类型库并运行了 edrawings 2018。同样,一旦我知道如何连接到程序,我应该会很好,但我无法做到那么远。

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

先感谢您,

FFS88

标签: excelvbasolidworks

解决方案


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

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

所以你必须在你的表单上放置 ActiveX 控件并通过这个控件访问 api:

Me.EModelViewControl1.OpenDoc path_to_edrawings_file, False, False, False, ""

正如您可能从 SOLIDWORKS API 中知道的那样,无法启动新实例或连接到正在运行的实例。


推荐阅读