乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 190|回复: 14

应用程序事件不工作

[复制链接]

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2007-7-11 09:43:30 | 显示全部楼层 |阅读模式
我已经有这个问题好几个月了,但还没有发帖来解决它:我有一个acad。rx文件;在那里我测试了acvba。arx,它看起来像是在启动时初始化VBA,但是我无法让任何应用程序事件工作。我创建了名为Class1的类模块[代码0)和调用它的模块
  1. Sub ExposeAppEvents()
  2. Dim AppEvents As Class1
  3. Set AppEvents = New Class1
  4. End Sub
仍然没有任何建议
还有,有没有人有一个相当简单的应用程序事件,我可以使用它进行测试
谢谢Mark
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-7-11 10:38:12 | 显示全部楼层
1) 将其放在thisdrawing模块的顶部(thisdrwawing是一个类模块)
  1. Private WithEvents AutoCAD As AcadApplication
也将其放入thisdrawing模块
  1. Public Sub Acadstartup()
  2.   Set AutoCAD = Application
  3.   AutoCAD.WindowState = acMax
  4.   ThisDrawing.WindowState = acMax
  5. End Sub
在acad的thisdrawing模块中。dvb
  1. Sub ACADStartup()
  2.    Call AcadApplication.RunMacro("F:\Project startup2006.dvb!App_StartMacro")
  3. End Sub
将路径放置到正在加载的dvb
在vbaide窗口的顶部有两个控制框,左边的一个称为对象框
如果您单击箭头并选择“General”,则可能会显示(General);AutoCAD;,右侧的下拉框(“过程”) 将列出所有可用的应用程序级应用程序
单击BeginOpen,将出现该名称的子项write MsgBox(“打开”)在那里。
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-7-11 10:45:28 | 显示全部楼层

Bry我没有提到以上所有内容都在我的acad中。dvb文件标记
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-7-11 10:48:21 | 显示全部楼层

我可能错了,但看起来你是从绘图级别而不是从系统中获取事件
标记
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-7-11 10:49:04 | 显示全部楼层

这需要打开图纸 
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-7-11 11:03:51 | 显示全部楼层
您好,马克,附件是我的acad。使用事件的dvb。看看它是否有助于你想做的事情。其中包含LandDesktop特定项目的代码,但该部分不应'如果LDT未运行,则t运行
杰夫
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-7-11 11:26:20 | 显示全部楼层

酷杰夫,你怎么说
谢谢Mark
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-7-11 11:46:26 | 显示全部楼层

杰夫,这是好东西,很酷的一点是,我也使用Land Desktop,但我对它还是有点陌生,无法真正欣赏你所做的一切。这当然值得坚持下去
在我的acad中。dvb文件我做了一个简单的事件:
  1. Private Sub ACADApp_BeginSave(ByVal Filename As String)
  2. Dim Filename As String
  3. Filename = Test.dwg
  4. MsgBox "Hello"
  5. End Sub
当我按下“保存”按钮时,我至少应该看到一个简单的消息框吗
谢谢你,马克
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-7-11 13:55:57 | 显示全部楼层
你好,马克,不确定是什么's向上,但医生说BeginSave&EndSave事件使用AcadApp,但两者的示例都使用AcadDocument….这是可行的:
  1. Private Sub ACADDocument_BeginSave(ByVal Filename As String)
  2. 'Filename = Test.dwg ''this will error since it's not a string
  3. MsgBox "Hello"
  4. End Sub
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2007-7-11 14:03:37 | 显示全部楼层

这很容易用Dim Filenname as String来解决,但我遇到的问题不是真正使用文档级事件,而是使用应用程序级事件;
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-6 18:25 , Processed in 1.623883 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表