请教下VBA中RaiseEvent的作用

我看很多高手的帖子里,喜欢定义Event,然后用RaiseEvent来调用,这个和直接调用一个Sub过程有什么区别吗?借用一个高手的帖子里的代码:PublicWithEv... 我看很多高手的帖子里,喜欢定义Event,然后用RaiseEvent来调用,这个和直接调用一个Sub过程有什么区别吗?
借用一个高手的帖子里的代码:
Public WithEvents cmdBars As CommandBars
Public Event Zoom(ByVal number As Integer)

Private Sub Class_Initialize()
Set cmdBars = Application.CommandBars
End Sub

Private Sub cmdBars_OnUpdate()
If ActiveWindow.Zoom <> 100 Then
'使用RaiseEvent语句触发Zoom事件并把当前窗口的显示比例作为参数传入
RaiseEvent Zoom(ActiveWindow.Zoom)
End If
End Sub

像这里,要是直接写一个Zoom的Sub过程直接调用,有什么不同呢?
请高手赐教,谢谢。
展开
 我来答
匿名用户
2015-05-11
展开全部
最简单的理解就是:将“对象”赋值给“变量”,对“对象”和”赋值“理解是关键,如果是定义就可以用dim了,比如在AutoCAD VBA中 可以"dim newline as acadline"来定义,而用“set newline=thisdrawing.modelspace.addline(point1,point2)"建一个新直线,excel VBA中
”set newworksheet=worksheets.add"来新建一个工作簿
coolbi5
推荐于2016-01-07 · TA获得超过1万个赞
知道大有可为答主
回答量:1.1万
采纳率:35%
帮助的人:2434万
展开全部
这个是类模块里面的东东,是类模块里面自定义事件,触发事件的点,带事件的类,只能在 THISWORKBOOK 模块里面调用,所以普通模块用不着
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式