quamper 发表于 2007-10-16 12:39:42

在应用程序激活事件

Hi
在App Activate事件过程中,我正在尝试运行以下代码,但是,该代码在App Activate上不起作用;相反,当我最小化和最大化App Window时,它正在工作。
我在这里使用了错误的Event oe方法吗?
可能我应该使用宏
Sub acadstartup()
'code here
End Sub

代替?
谢谢Mark
Private Sub AutoCAD_AppActivate()
Dim Preferences As AcadPreferences
Dim CurrMenuFile As String
Set Preferences = ThisDrawing.Application.Preferences
CurrMenuFile = Preferences.Files.MenuFile
Select Case CurrMenuFile
Case Is = "Land"
ThisDrawing.SendCommand "wscurrent" & vbCr & "Land Destop Complete" & vbCr
Case Else
ThisDrawing.SendCommand "wscurrent" & vbCr & "Map Classic" & vbCr
End Select
End Sub

**** Hidden Message *****

女大学生 发表于 2007-10-16 14:02:25

你是想在激活的时候做点什么,还是想在加载的时候做点什么?你说的是激活..如果程序在后台,然后你选择它,或者取消最小化,你只是“激活”应用程序。
请参阅这篇msdn文章http://msdn 2 . Microsoft . com/en-us/library/dyz 95 fhy(vs . 80)。文件

贝小姐 发表于 2007-10-16 14:03:53

是的,我指的是启动时标记

正太 发表于 2007-10-16 14:17:36

马特,这是个好主意!
您说得对,它是一个系统变量,这比send命令好得多。
send命令确实有一些用处,但我尽可能避免使用它。
有趣的是,如果我在ACAD内部运行这个宏,它会工作得很好,但在启动时就不行
我想你刚刚触及到了一些东西;我不认为VBA喜欢在启动时将命令发送到命令行的想法

蛇群 发表于 2007-10-16 14:40:56

祝你好运!

奇缘国度 发表于 2007-10-16 14:44:39


谢谢马特!唯一的问题是这个语法代码2]
是不正确的,
所以,首先,我尝试计算出
标记

蓝天下的小伞 发表于 2007-10-16 14:46:49


是的,你说得对。我在乱搞它,它前面有MsgBox。只需删除括号,您就应该万事俱备了。

蛇群 发表于 2007-10-16 14:55:40


不,那也不行LOL
你不喜欢它吗,它总是小事
它可能必须设置变量ws电流=etc等

符号 发表于 2007-10-16 14:57:52


我在这里有一个帖子
帮助屏幕一直是正确的; 这是我的大脑不对
,好吧,好吧!
在 acadstartup 中没有 sendcommand
所以,在我的 Acadstartup 宏中,
我有:
Sub Acadstartup()
Set AutoCAD = ThisDrawing.Application
Dim Preferences As AcadPreferences
Dim CurrMenuFile As String
Set Preferences = ThisDrawing.Application.Preferences
CurrMenuFile = Preferences.Files.MenuFile
Select Case CurrMenuFile
Case Is = "Land"
   ThisDrawing.SetVariable "wscurrent", "Land Destop Complete"
Case Else
   ThisDrawing.SetVariable "wscurrent", "Map Classic"
End Select
End Sub

一切似乎都运行良好
感谢您的线索 Matt!
马克

芙蓉姐姐 发表于 2007-10-16 14:59:39

这是错别字吗??
这里应该有一个K吗??!?
页: [1] 2
查看完整版本: 在应用程序激活事件