VBA控件能使用循环语句吗?如:CommandButton, Combobox等
如能,那应该怎样去写呢?
VBA控件能使用循环语句吗?
答案:2 悬赏:20 手机版
解决时间 2021-04-04 10:01
- 提问者网友:川水往事
- 2021-04-04 05:39
最佳答案
- 五星知识达人网友:天凉才是好个秋
- 2021-04-04 05:48
当然可以了。
一般默认情况下,双击控件就出现代码框, 是Click事件。
即点击空间时触发程序。
当然也有别的事件,就不一一例举。
但我不确定我回答的是不是你想知道的。。。。
控件名称循环。
For a = 1 To 5
Me.Controls("CommandButton" & a).caption = ****
NEXT
利用循环让CommandButton1 ~ 5 赋值。
当然 其中 ****是一个变量。
一般默认情况下,双击控件就出现代码框, 是Click事件。
即点击空间时触发程序。
当然也有别的事件,就不一一例举。
但我不确定我回答的是不是你想知道的。。。。
控件名称循环。
For a = 1 To 5
Me.Controls("CommandButton" & a).caption = ****
NEXT
利用循环让CommandButton1 ~ 5 赋值。
当然 其中 ****是一个变量。
全部回答
- 1楼网友:怀裏藏嬌
- 2021-04-04 06:35
问题是,你的line后面根本没有处理错误。
帮助文档里是这样解释的:
“一个“允许的”错误处理程序是由 on error 语句打开的一个处理程序;一个“活动的”错误处理程序是处理错误的过程中允许的错误处理程序。如果在错误处理程序处于活动状态时(在发生错误和执行 resume、exit sub、exit function 或 exit property 语句之间这段时间)又发生错误,则当前过程的错误处理程序将无法处理这个错误。”
加一句:resume next
sub test1()
dim i
do while i <> 4
for i = 1 to 3
on error goto line
chdir "d:\tmp"
line:
resume next
next i
on error goto line:
loop
end sub
或者,干脆用on error resume next 吧
sub test2()
dim i
on error resume next
do while i <> 4
for i = 1 to 3
chdir "d:\tmp"
next i
loop
end sub
你也可以仔细研究一下帮助文档里的例子
on error 语句示例
本示例先使用 on error goto 语句在一个过程中指定错误处理的代码所在。本示例中,试图删除一已经打开的文件从而生成的错误码为 55。这个错误将由示例中的错误处理程序码来处理,处理完后,控制会回到发生错误的语句处。on error goto 0 语句关闭错误陷阱。然后 on error resume next 语句用来改变错误陷阱,以便发觉下一个语句产生的错误的范围。请注意示例中使用 err.clear 在错误处理完后,清除 err 对象的属性。
sub onerrorstatementdemo()
on error goto errorhandler ' 打开错误处理程序。
open "testfile" for output as #1 ' 打开输出文件。
kill "testfile" ' 试图删除已打开的文件。
on error goto 0 ' 关闭错误陷阱。
on error resume next ' 改变错误陷阱。
objectref = getobject("myword.basic") ' 试图启动不存在
' 的对象
'检查可能发生的 automation 错误。
if err.number = 440 or err.number = 432 then
' 告诉用户出了什么事。然后清除 err 对象。
msg = "there was an error attempting to open the automation object!"
msgbox msg, , "deferred error test"
err.clear ' 清除 err 对象字段。
end if
exit sub ' 退出程序,以避免进入错误处理程序。
errorhandler: ' 错误处理程序。
select case err.number ' 检查错误代号。
case 55 ' 发生“文件已打开”的错误。
close #1 ' 关闭已打开的文件。
case else
' 处理其他错误状态 . . .
end select
resume ' 将控制返回到产生错误的语句。
end sub
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯