我不得不把我的事件放在这个绘图模块中。BRB
编辑:添加了代码
我必须为此称赞其他人,但在我的脑海中,我不记得是谁帮助了我。也许是Bryco??无论如何,我一会儿就去看看。这是他们给我的,用于修复end open
- Option Explicit
- Public WithEvents AutoCAD As AcadApplication
- Sub App_StartMacro()
- Set AutoCAD = ThisDrawing.Application
- End Sub
- Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
- If CommandName = "COMMANDLINE" Then
- Set AutoCAD = ThisDrawing.Application
- End If
- End Sub
- Private Sub AutoCAD_EndOpen(ByVal FileName As String)
- ThisDrawing.SetVariable "INSUNITS", 1
- ThisDrawing.SetVariable "OSNAPZ", 1
- ThisDrawing.SetVariable "LAYEREVAL", 0
- ThisDrawing.SetVariable "LAYERNOTIFY", 0
- Dim strUser As String
- strUser = UCase(Environ("USERNAME"))
- Select Case strUser
- Case "UA02038"
- Case "UA03347"
- Case Else
- ThisDrawing.SendCommand "undefine" & vbCr & "BEDIT" & vbCr
- End Select
- End Sub
- Public Sub AcadStartup()
- Dim Preferences As AcadPreferences, intOsmode As Integer
- Set Preferences = ThisDrawing.Application.Preferences
- Dim strUser As String
- strUser = UCase(Environ("USERNAME"))
- Select Case strUser
- Case "UA02038"
- Preferences.Selection.PickFirst = True
- intOsmode = 71
- ThisDrawing.SetVariable "ORTHOMODE", 1
- Case "UA03347"
- Preferences.Selection.PickFirst = True
- intOsmode = 19
- Case Else
- Preferences.Selection.PickFirst = True
- intOsmode = 7
- End Select
- If intOsmode = 0 Then
- ThisDrawing.SetVariable "osmode", 3
- Else
- ThisDrawing.SetVariable "osmode", intOsmode
- End If
- Application.Preferences.Output.AutomaticPlotLog = False
- Application.Preferences.User.ADCInsertUnitsDefaultSource = acInsertUnitsInches
- Application.Preferences.User.ADCInsertUnitsDefaultTarget = acInsertUnitsInches
- ThisDrawing.SetVariable "OSNAPZ", 1
- End Sub
End open的应用程序级别事件,但在这些调整之后,它是可用的 |