miaoph 发表于 2003-11-30 09:34:00

一个关于宏的问题

在VBA中,程序的运行都是通过宏命令加上子程序来进行的。在我每次运行某段程序的时候,只能通过命令来运行。我想把它做成这样,不知是否能够实现:在AUTOCAD中点击右键反复执行上一次执行的命令,能不能点击右键也反复执行上一个宏命令后的子程序?

subtlation 发表于 2003-11-30 10:37:00

论坛里有不少方法,我用的是:
把下面代码放到thisdrawing中,
Public testLoad As Boolean

Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
If Not testLoad Then
    testLoad = True
    MacroToCommand "WBN", "pileNo.dvb!thisdrawing.pileno"'宏的命令名和宏的位置。
End If
End Sub

Public Sub MacroToCommand(ByVal cmdName As String, ByVal macroName As String)
   Dim string1 As String
    string1 = "(defun c:" & cmdName & " () (command " & Chr(34) & "-vbarun" & Chr(34) & " " & Chr(34) & macroName & Chr(34) & ")) "
    ThisDrawing.SendCommand string1
End Sub

gzy 发表于 2003-11-30 13:35:00

你可以做到菜单中,点击定制的菜单即运行相应的宏。
页: [1]
查看完整版本: 一个关于宏的问题