使用 Access 2007 中的 VBA 在 AutoCAD (dwg) 文件中搜索

And*_*e S 5 ms-access vba autocad

我有数百个 DWG、AutoCAD 文件,我想在 MS Access 数据库中搜索和编目这些文件。

基本上,我想搜索 DWG 并提取标题框中的任何描述以及日期,并将所有内容带到 Access 中,使其成为可搜索的目录。

例如,我有一个文件名为 T-25682.DWG,它的名称为 Machine Spacer,创建时间为 01/20/2010。

我将从 DWG 文件中提取该信息并将其插入到 Access 数据库中,如下所示:

== ID ==    == DESCRIPTION ==    == CREATED ON ==    == FILENAME ==

    1       Machine Spacer       01/20/2010          T-25682.dwg
Run Code Online (Sandbox Code Playgroud)

我该如何处理和解决这个问题?是否有可以与 Access 一起使用的 AutoCAD 库?如何在 DWG 文件中搜索?

and*_*sit 3

我会完全避免使用 VBA,AutoLISP 可以轻松完成这项工作。就是这样:

在 AutoLISP 文件中创建“数据提取和写入 Access”功能。免费提供的 ADOLisp 库将使写入 Access 变得轻而易举,如果失败,或者您无法做到这一点,您始终可以只写入 csv 文件...

一旦您能够对单个 dwg 文件执行此操作,请创建一个脚本(使用任何可以复制和打开文件的工具,AutoLisp 也可以)来执行以下操作:

  1. 将该 lisp 文件复制到 dwg 文件所在的目录中,将该文件命名为 acaddoc.lsp。
  2. 依次打开目录中的每个 dwg。打开后,acaddoc.lsp 将运行并执行其操作。
  3. 从该目录中删除 acaddoc.lsp (否则每次您在其中打开 dwg 时它都会运行)。
  4. 对您希望在其中编目的 dwg 文件的每个目录重复此操作。

笔记:

  1. 确保 acaddoc.lsp 在完成后关闭图形(或使 AutoCAD 退出,具体取决于打开文件的方式)。
  2. 为此,您的标题栏必须可靠,请确保添加一些错误检查。您可以使用该脚本将发现的任何问题记录到文本文件中...

AutoLisp 真的非常简单,如需学习帮助,请访问AutoLISP 初学者教程

有关提出问题和搜索以前回答的问题中的代码片段的最佳位置,请参阅Visual LISP、AutoLISP 和常规自定义