sanjie 发表于 2007-11-16 18:25:00

[原创]在AutoCAD中增加Fileseach对象

本帖最后由 作者 于 2008-11-24 18:14:08 编辑 <br /><br /> <p class="MsoNormal" style="MARGIN: 3.6pt 0cm; TEXT-INDENT: 0cm;">一、问题的由来</p><p class="MsoNormal" style="MARGIN: 3.6pt 0cm; TEXT-INDENT: 0cm;">我们知道在<font face="Calibri">Microsoft Office Excel 2003</font>的<font face="Calibri">VBA</font>中有一个<font face="Calibri">FileSearch</font>对象,利用<font face="Calibri">FileSearch</font>对象可以很方便的遍历某个目录下的所有<font face="Calibri">Excel</font>文件,以批量修改或打印<font face="Calibri">Excel</font>文件,如图<font face="Calibri">1</font>所示。</p><p></p><p><font color="#ff0000">2008年11月24增加了按文件名排序的功能,见12楼的附件</font><br/></p>

sanjie 发表于 2007-11-16 18:26:00

<p class="MsoNormal" style="MARGIN: 3.6pt 0cm; TEXT-INDENT: 0cm;">在<font face="Calibri">AutoCAD</font>中没有类似的功能。我写了一个<font face="Calibri">glFileseach</font>类,可以模拟<font face="Calibri">Excel</font>的<font face="Calibri">Fileseach</font>对象所提供的一些功能,用于遍历<font face="Calibri">AutoACD</font>应用程序所支持的文件。应用它可以方便的批量修改和打印<font face="Calibri">AutoACD</font>文件,如图<font face="Calibri">2</font>所示。</p>

sanjie 发表于 2007-11-16 18:28:00

本帖最后由 作者 于 2008-12-15 13:18:48 编辑 <br /><br /> <p class="MsoNormal" style="MARGIN: 3.6pt 0cm; TEXT-INDENT: 0cm;">二、<font face="Calibri">glFileseach</font>类的属性和方法简介</p><span style="mso-list: Ignore;"><p class="MsoListParagraph" align="left" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; TEXT-ALIGN: left; mso-char-indent-count: 0; mso-list: l0 level1 lfo1;"><span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings;"><span style="mso-list: Ignore;">&Oslash;<span style="FONT: 7pt 'Times New Roman';">&nbsp; </span></span><font face="Calibri">LookIn </font>属性:返回或设置在指定的文件搜索过程中要搜索的文件夹。<font face="Calibri">String </font>类型,可读写。<p></p></p><p class="MsoListParagraph" align="left" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; TEXT-ALIGN: left; mso-char-indent-count: 0; mso-list: l0 level1 lfo1;"><span style="mso-list: Ignore;">&Oslash;<span style="FONT: 7pt 'Times New Roman';">&nbsp; </span></span><font face="Calibri">FileName </font>属性:返回或设置文件搜索过程中要查找的文件名。文件名中可以包含<font face="Calibri"> *</font>(星号)或<font face="Calibri"> ?</font>(问号)通配符。问号通配符可以匹配任意一个单个字符。如键入“<font face="Calibri">gr?y</font>”可以匹配“<font face="Calibri">gray</font>”和“<font face="Calibri">grey</font>”。星号通配符可以匹配任意个字符。如键入“<font face="Calibri">*.txt</font>”可以查找到所有带<font face="Calibri"> .TXT </font>扩展名的文件。<font face="Calibri">String</font>类型,可读写。<p></p></p><p class="MsoListParagraph" align="left" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; TEXT-ALIGN: left; mso-char-indent-count: 0; mso-list: l0 level1 lfo1;"><span style="mso-list: Ignore;">&Oslash;<span style="FONT: 7pt 'Times New Roman';">&nbsp; </span></span><font face="Calibri">FileType </font>属性:返回或设置文件搜索过程中要查找的文件类型。可读写,支持:<font face="Calibri">AutoCADs</font>、<font face="Calibri">CorelDRAW</font>、<font face="Calibri">ExcelWorkbooks</font>、<font face="Calibri">PowerPointPPT</font>和<font face="Calibri">WordDocuments</font>、金山公司的<font face="Calibri">WPS</font>表格工作簿、<font face="Calibri">WPS</font>演示演示文稿和<font face="Calibri">WPS</font>文字文档。可以遍历<font face="Calibri">AutoCAD</font>、<font face="Calibri"> CorelDRAW </font>、<font face="Calibri">Exce</font>、<font face="Calibri"> PowerPoint</font>、<font face="Calibri"> Word</font>和金山公司<font face="Calibri">Office</font>系列软件等应用程序生成的文件。如图<font face="Calibri">3</font>所示。<p></p></p><p class="MsoListParagraph" align="left" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; TEXT-ALIGN: left; mso-char-indent-count: 0; mso-list: l0 level1 lfo1;"><span style="mso-list: Ignore;">&Oslash;<span style="FONT: 7pt 'Times New Roman';">&nbsp; </span></span><font face="Calibri">SearchFolders</font>属性:确定调用<font face="Calibri"> FileSearch </font>对象的<font face="Calibri"> Execute </font>方法时是否搜索子文件夹。<p></p></p><p class="MsoListParagraph" align="left" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; TEXT-ALIGN: left; mso-char-indent-count: 0; mso-list: l0 level1 lfo1;"><span style="mso-list: Ignore;">&Oslash;<span style="FONT: 7pt 'Times New Roman';">&nbsp; </span></span><font face="Calibri">Execute </font>方法:开始对指定文件的搜索。返回一个<font face="Calibri"> Long </font>类型,如果没有找到文件,则返回零<font face="Calibri"> (0)</font>,如果找到一个或多个文件,则返回一个正数。<p></p></p><p class="MsoListParagraph" align="left" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; TEXT-ALIGN: left; mso-char-indent-count: 0; mso-list: l0 level1 lfo1;"><span style="mso-list: Ignore;">&Oslash;<span style="FONT: 7pt 'Times New Roman';">&nbsp; </span></span><font face="Calibri">FoundFiles </font>属性:返回一个<font face="Calibri"> FoundFiles </font>集合对象,该对象包括一次查找操作中找到的所有文件的文件名。只读。</p></span></span>

sanjie 发表于 2007-11-16 18:28:00

本帖最后由 作者 于 2007-11-16 18:29:07 编辑 <br /><br /> <p class="MsoNormal" style="MARGIN: 3.6pt 0cm; TEXT-INDENT: 0cm;">三、使用方法</p><p class="MsoNormal" style="MARGIN: 3.6pt 0cm; TEXT-INDENT: 0cm; tab-stops: 191.4pt;">单击菜单【工具】→【加载应用程序<span lang="EN-US">…】,打开【加载/卸载程序】对话框,选中“AutoCAD增益集.dvb”文件即可,如图3所示。<p></p></span></p><p></p><p></p><p></p><p class="MsoNormal" style="MARGIN: 3.6pt 0cm; TEXT-INDENT: 0cm; tab-stops: 191.4pt;">加载程序后即可以在<font face="Calibri">VBA</font>编辑器中使用和修改了。</p>

sanjie 发表于 2007-11-16 18:31:00

本帖最后由 作者 于 2007-11-23 18:23:32 编辑 <br /><br /> <p class="MsoNormal" style="MARGIN: 3.6pt 0cm; TEXT-INDENT: 0cm;">四、其他说明的</p><p class="MsoNormal" style="MARGIN: 3.6pt 0cm; TEXT-INDENT: 0cm;">由于类的可移植性强,所以<font face="Calibri">glFileseach</font>类可以用于其他支持<font face="Calibri">VBA</font>的程序中,如<font face="Calibri">Microsoft Office 2007</font>、<font face="Calibri">CorelDRAW</font>中。有兴趣的朋友可以使用一下,欢迎你多提宝贵的建议。</p><p class="MsoNormal" style="MARGIN: 3.6pt 0cm; TEXT-INDENT: 0cm;"><p><font face="Calibri">&nbsp;</font></p></p><p><font face="Calibri">&nbsp;</font></p><p></p><p class="MsoNormal" style="MARGIN: 3.6pt 0cm; TEXT-INDENT: 0cm;"><p><font face="Calibri">&nbsp;</font></p></p><p><font face="Calibri">&nbsp;</font></p><p></p><p class="MsoNormal" style="MARGIN: 3.6pt 0cm; TEXT-INDENT: 0cm;">三戒</p><p class="MsoNormal" style="MARGIN: 3.6pt 0cm; TEXT-INDENT: 0cm;"><font face="Calibri">qinyangdl@163.com</font></p><p class="MsoNormal" style="MARGIN: 3.6pt 0cm; TEXT-INDENT: 0cm;">河南省沁阳市电力公司</p><p class="MsoNormal" style="MARGIN: 3.6pt 0cm; TEXT-INDENT: 0cm;"><font face="Calibri">2007-11-16</font></p>

sanjie 发表于 2007-11-23 13:13:00

本帖最后由 作者 于 2007-11-28 20:31:45 编辑 <br /><br /> <p>增加了文件类型:</p><p>支持:</p><p>AutoCADs<br/>CorelDRAW<br/>ExcelWorkbooks<br/>&nbsp;PowerPointPPT<br/>&nbsp;WordDocuments</p><p>&nbsp;可以遍历AutoCAD、 CorelDRAW 、Exce、 PowerPoint、 Word等应用程序生成的文件<br/></p><p></p><p>&nbsp;</p>

sanjie 发表于 2007-11-28 20:37:00

又更新了,请下载最新的附件

liuyang4740 发表于 2007-12-1 11:33:00

高手!顶一下!

sanjie 发表于 2008-4-13 14:16:00

<p></p><p>最新版,请测试!</p>

sanjie 发表于 2008-11-24 18:15:00

本帖最后由 作者 于 2008-12-15 13:26:01 编辑 <br /><br /> <div class="t_msgfont" id="postmessage_688192">2008年11月24增加了按文件名排序的功能</div><div class="t_msgfont">2008年12月15日支持遍历金山WPS系列文件格式,如下图所示</div>
页: [1] 2
查看完整版本: [原创]在AutoCAD中增加Fileseach对象