有没有办法从 table 中的 OLEObject 字段中提取 AutoCAD 绘图和图片?

Is there a way to extract AutoCAD Drawings and Pictures from an OLEObject field in a table?

只是为了了解一些背景,我是一家公司的机械工程师,这里的老人们在 Access 2003 中创建了一个数据库,它基本上采用 AutoCAD 绘图或图片 OLE,并将其放入一个框架精美的报告中一堆其他信息。我一直在对该数据库进行一些修改,其中之一是将所有 OLEObject 存储为我们共享网络中实际文件的链接。过去一周左右添加到数据库中的每个新文件都已链接,这些人似乎已经掌握了窍门。

此时我的问题是尝试检索嵌入在表中的所有对象。我试过 Lebans OLE to Disk,但这似乎不适用于 AutoCAD 工程图(.dwg 和 .dxf 文件),也不适用于 "Picture"。

我知道这是一个很有争议的话题,因为我没有提供任何代码作为开始,但我认为这太复杂了,我什至无法开始做,而且我不知所措。手动提取 OLEObjects 是不可行的,因为其中有 8000 多个 OLEObjects 分布在多个数据库中。有没有办法通过代码自动提取?

提前致谢,

拉斐尔.

如果访问 Document 对象的 Object property of the Bound Object Frame control, for an AutoCAD Drawing this should return the AutoCAD Document Object. You can then invoke the SaveAs 方法将文件保存到已知位置。

例如:

With Me.MyBoundObjectFrame.Object
    .SaveAs "Drive:\YourPath\YourDrawing.dwg"
End With

其中 MyBoundObjectFrame 是您的 Bound Object Frame 控件的名称。

这在我的有限测试中成功运行。