Private Sub AcadDocument_BeginClose()
If Documents.Count = 1 Then
SysVarName = "WSCURRENT"
CurrSysVarData = ThisDrawing.GetVariable(SysVarName)
NewSysVarData = "Exit"
If CurrSysVarData"Exit" Then
ThisDrawing.SetVariable SysVarName, NewSysVarData
If MsgBox("Would you like to save this drawing?", vbYesNo) = vbYes Then
ThisDrawing.Save
Application.Quit
Else
Application.Quit
Exit Sub
End If
End If
End If
End Sub
是的,我确实搞砸了我的工作空间测试它。 哎呀! 鲍勃,我听到你在洛杉矶说脏话。 我一点也不怀疑。 是的先生!
在那个事件(AcadDocument_BeginClose)上,它确实起作用了
谢谢Bob!
您说关闭ACAD时,它确实弄乱了您的工作空间?
这是一个已知的问题,但AutoDesk如果两个菜单(cui文件)共享相同的工具栏,两个相邻工具栏的垂直对齐将在其中一个cui文件(工作空间)上被打乱
在我的情况下,我的Land.cui文件(在Land Desktop中)中的工具栏是正常的,是在地图启用(acmap.cui)中工具栏对齐被打乱。
AutoDesk说要创建一个启动例程来设置wscurrent,所以我做了,但很快意识到这不是解决方案。显然,退出acad后,当前的工作空间会受到影响。
因此有了这个解决方法。让退出工作区搞砸了,它是一个没有任何东西(最低要求)的虚拟工作区。
另一方面,我有一个在启动时运行的set workspace current模块。
如果你感兴趣,我可以在这篇文章之后发表。
确实如此,不过看起来这已经完成了任务
再次感谢
Mark
鲍勃
如果你或任何人感兴趣,这是我的wscurrent启动代码
,它会检查活动配置文件,菜单文件(主cui),最后它会设置你的wscurrent
Mark
Sub Acadstartup()
Dim Username As Variant
Dim WshNetwork As Variant
Dim Preferences As AcadPreferences
Dim ActProfile As String
Dim CurrMenuPath As String
Dim CurrMenuFile As String
Set WshNetwork = CreateObject("WScript.Network")
Set Preferences = ThisDrawing.Application.Preferences
Username = WshNetwork.Username
ActProfile = Preferences.Profiles.ActiveProfile
CurrMenuPath = "C:\Documents and Settings\" & Username & "\Application Data\Autodesk\Autodesk Land Desktop 2006\R16.2\enu\Support\"
CurrMenuFile = Preferences.Files.MenuFile
If ActProfile = "Land Desktop" Then
CurrMenuFile = CurrMenuPath & "land"
ThisDrawing.SetVariable "wscurrent", "Land Destop Complete"
Else
If ActProfile = "MapLandDevelopmentDesktop" Then
CurrMenuFile = CurrMenuPath & "acmap"
ThisDrawing.SetVariable "wscurrent", "Map Classic"
End If
End If
End Sub
页:
1
[2]