omgd 发表于 2008-9-18 21:29:00

怎么通过AutoCAD上所加的菜单项运行VBA程序

现状描述:
我先前编写了个VBA程序,为便于实际操作,需在的界面上添加菜单项(或浮动按钮),用户通过点击菜单项就可以直接执行我所编写的VBA程序。目前添加菜单项(或浮动按钮)的工作我已实现,但尚未完成菜单项与VBA程序的关联(点击菜单项,就激活我的VBA程序的用户窗口界面)
以下是添加菜单项的程序代码:
Sub AddASubMenu()
    '获得当前的菜单组***********************
   Dim currMenuGroup As AcadMenuGroup
   Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)
   
    '创建新菜单
   Dim newMenu As AcadPopupMenu
   Set newMenu = currMenuGroup.Menus.Add("二次开发")
   
    '添加菜单项*****************************
    Dim macro As String
    macro = ?   ' macro = Chr(3) & Chr(3) & Chr(95) & "open" & Chr(32)   这是打开文件的代码
    Dim menuItemHuamo As AcadPopupMenuItem
    Set menuItemHuamo = newMenu.AddMenuItem(newMenu.Count + 1, "NC程序生成", ??)
    '在菜单栏上显示菜单*******************
    newMenu.InsertInMenuBar (ThisDrawing.Application.MenuBar.Count + 1)
End Sub
我的VBA工程文件存放路径为:E:\VBA二次开发\project.dvb
project.dvb中的用户界面窗口为UserForm
需要达到的效果是:用户点击AutoCAD菜单栏上的菜单【二次开发】——>【NC程序生成】,就执行project工程,弹出用户界面窗口UserForm
希望大虾些给指导下,先谢过了

omgd 发表于 2008-9-18 21:33:00

忘记把问题写出来了:
1、前面帖子中的“?”处应该如何编写代码;
2、“??”处的代码又该如何写呢?
不知道还需要添加其它代码不,还望大虾些指教^_^
谢谢!

fjfhgdwfn 发表于 2008-9-19 12:15:00

这个还需要用LISP把VBA在CAD启动是加载上来,有很多的,搜搜了,再不行了,再说了。

azjmjsj 发表于 2008-9-19 19:34:00


AutoCAD VBA教程电子书有详细源码:
http://www.abofanyi.com/blog/post/32.html

omgd 发表于 2008-9-21 20:58:00

非常感谢,我再试试

style6301 发表于 2008-9-23 00:41:00

用菜单文件做方便很多

style6301 发表于 2008-9-26 00:09:00

发个东西给你,你看看吧,今天我这上传不了东西,东西发你邮箱(y821015@tom.com )去了。
《AutoCAD菜单文件详解及VBA调用》
页: [1]
查看完整版本: 怎么通过AutoCAD上所加的菜单项运行VBA程序