matrix 发表于 2006-4-7 22:20:00

mccad进来看一下,你的程序有点不懂

<P>mccad你好,我在论坛上看到你回答在VBA中打开有预览的对话框,你的回答如下:</P>
<P>在VBA没有直接的方法这样做。但是,你可以通过LISP和AutoCAD之间的通讯来完成。在LISP中有一个名叫getfiled的函数,它可以预览DWG并且与AutoCAD的"Open File Dialog"表现一样。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;首先,通过SendCommand方法发送getfiled表达式给AutoCAD命令行并且定义一个系统变量USERS1以保存文件名。然后,你可以用GetVariable方法获得这个系统变量。最后,象使用其它任何变量一样使用它。 </P>
<P></P>
<P>Public Sub OpenDialog() <BR>Dim fileName As String <BR>ThisDrawing.SendCommand "(setvar " &amp; """users1""" &amp; "(getfiled " &amp; """Select a DWG File""" &amp; """c:/program files/acad2000/""" &amp; """dwg""" &amp; "8)) " <BR>fileName = ThisDrawing.GetVariable("users1") <BR>MsgBox "You have selected " &amp; fileName &amp; "!!!", , "File Message" <BR>End Sub <BR>我运行了一下,可以运行,但就是选择了文件之后没法打开,且一直在选择文件对话框里面,请你看看,</P>
<P>再者想请问一下,你的sendcommand里面的代码都是代表什么意思,</P>

<P>我的编程代码是这样的,好像也可以实现有图片显示的打开对话框啊,你看一下,谢谢</P>
<P>UserForm1.Hide</P>
<P>ThisDrawing.SendCommand "open"<BR>ThisDrawing.SendCommand " chr(13)"<BR>UserForm1.show</P>
<P>好像也行的</P>

matrix 发表于 2006-4-7 22:30:00

<P>不好意思,没看到你在另外一个页面里回答了,</P>
<P>我运行了,出来一个对话框,但是点打开图片时不能加载图片,一直让我打开,命令行提示为</P>
<P>命令: (setvar "users1"(getfiled "Select a DWG File""c:/program <BR>files/acad2000/""dwg"8)) ; 错误: AutoCAD 变量设置被拒绝: "users1" nil</P>
<P>好像只有点取消才能退出,不知道为什么,请解答一下,谢谢</P>

mccad 发表于 2006-4-8 06:21:00

<P>这段代码只是用于选择文件,把文件名和路径传递给系统变量users1,而不是用于打开文件。</P>
<P>而你前面的代码open是直接调用AutoCAD的命令打开文件。</P>
页: [1]
查看完整版本: mccad进来看一下,你的程序有点不懂