米秀 发表于 2008-1-21 19:09:16

抱歉,刚刚扫描并误读了OP中的活动工作区;试试看
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 是的,我确实把我的工作空间搞砸了 Doh!

czchn64 发表于 2008-1-21 20:33:59

鲍勃,我听到你在洛杉矶骂人。

☆紫色爱情☆ 发表于 2008-1-21 21:06:49

我不知道'我毫不怀疑。

醒悟 发表于 2008-1-22 10:17:54

是的,先生
在那次活动(AcadDocument\u BeginClose)上,它确实起了作用,谢谢Bob
你说在关闭ACAD的时候它确实扰乱了你的工作区
这是一个已知问题,但AutoDesk;如果两个菜单(cui文件)共享相同的工具栏,则两个相邻工具栏的垂直对齐方式将在其中一个cui文件(工作空间)上消失。在我的示例中,即“我的土地”中的工具栏。cui文件(在Land Desktop中很好),正是在Map Enabled(acmap.cui)中,工具栏对齐方式被搞砸了
AutoDesk说要创建一个启动例程来设置wscurrent,所以我这么做了,但很快意识到这不是解决方案。显然,退出acad后的当前工作区被破坏了
因此,这项工作需要解决。让退出工作区搞砸,它是一个没有任何(最低要求)的虚拟工作区
另一方面,我确实有一个在启动时运行的设置工作区当前模块
如果你感兴趣的话,我可以在这篇文章之后发布
看起来确实完成了任务,不过再次感谢Mark;

铁皮氧吧 发表于 2008-1-22 10:23:24

Bob如果您或任何人感兴趣,这是我的wscurrent启动代码,它检查活动配置文件menufile(主cui),最后将设置wscurrent标记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]
查看完整版本: ACADApp\u Beginquirt事件