[求助]谁可以帮我把如下VBA代码转成VB代码
结贴,此贴在乐筑天下坛友的帮助下已完成代码转换,THANKS!
怎么转化?
你需要在VB中加载Autocad VBA控件。
在autocad外部进行图形处理需要有对文档操作。
比如打开ACAD文件、打开处理后关闭。
假设你有程序打开了这个ACAD文件,定义DOCUMENT对象。
你需要在VB中重新定义窗体,以使其与VBA源文件代码一致。
这个程序其他就很简单了,把"ThisDrawing"改成你定义的那个ACAD 的DOCUMENT对象。
这个程序就移植的差不多了。
不过这个程序用VB的话还应该至少增加些容错能力的说。否则,出错几次可能就要重新启动了。
UserForm16.Hide 在VB中可以不用,采用透明窗口效果更好.
ThisDrawing.ModelSpace必须改
通用的VB起动Autocad程序
Public Sub AutoCADConnect() '连接AutoCAD
On Error Resume Next
Set obj_Acad = GetObject(, "autocad.application")
If Err Then
Err.Clear
On Error Resume Next
Set obj_Acad = CreateObject("autocad.application")
If Err Then
Err.Clear
MsgBox "不能运行AutoCAD,请检查是否安装!", vbOKCancel, "警告!"
Exit Sub
End If
End If
obj_Acad.Visible = True
Set obj_Doc = obj_Acad.ActiveDocument
Set obj_ModelSpace = obj_Doc.ModelSpace
MsgBox "运行结束!", vbOKOnly, "工程1!"
boo = True
End Sub
因此,
ThisDrawing.ModelSpace改为obj_obj_ModelSpace.
没办法了,搞不定,附档为源码与窗口文件那位仁兄帮帮忙,给转下。
克习惯把
Set obj_Doc = obj_Acad.ActiveDocument
改成
Set ThisDrawing = obj_Acad.ActiveDocument
呵呵,这样,VBA程序并不需要改多少东西。
那们大哥哥帮下忙呀!!!
你需要看看,在窗体操作上,VBA和VB会有些不同。如控件的名称以及部分属性。这需要自己调试记录,然后更改。 还有没有高手支招呀! 试了一下你发的程序有如下两个问题
1 发帖子是VBA程序,控件比较多,无法调试
2 arj文件,没有关联vb起动autocad程序,无法运行
结论,没有运转正常的参照程序,无法调试,更谈不上改了
要求:你将能正常运转的VBA程序发到网上,试着给你改一下.工作量不是很大
附档就是了,兰大哥帮看下,在家里弄了几天在公司也弄了几天没有搞定,有点丢人呀!
页:
[1]