上一课我们曾经提过For Each.…Next语句,针对一个数组或集合中的每个元素,重复执行一组语句。集合就是包含一组相关对象的对象。一个人是一个对象,一群人就是一个集合了(也称为集团或团伙:)。一个按钮是一个对象,许多个按钮在一起就是一个集合(这就不能称为团伙了)。二个按钮是一个集合,三个也是一个集合,我们如何确定一个集合呢?按钮都放在窗体上,所以这个集合肯定也是在窗体上,每个窗体都有一个Controls 集合,这是控件集合,按钮是控件中的一种,所以按钮是这个集合中的一员。
For Each.…Next
用途:针对一个数组或集合中的每个元素,重复执行一组语句。
语法:
For Each 集合成员 IN 集合
语句1
语句2
语句N
Next 集合成员
基本概念都知道了,下面开始编写代码,要在程序一打开就使按钮变成超级链接,就得在窗体的加载事件中写代码:
Private Sub Form_Load()
Dim ctlButt As Control 定义一个变量ctlButt,它的类型为控件
DoCmd.Restore 恢复窗体大小,这只是控制窗体的外形,跟手形效果无关
For Each ctlButt In Me.Controls 开始循环
If TypeOf ctlButt Is CommandButton Then 如果变量ctlButt的类型是命令按钮
ctlButt.HyperlinkAddress = " " 变量ctlButt的超级链接地址等于一个空格,你可以填入别的内容
End If 结束if语句
Next ctlButt 下一个控件
End Sub 结束过程
注1:TypeOf表示类型,CommandButton表示命令按钮
注2:ctlButt.HyperlinkAddress = " " 这里的双引号中有一个空格,如果没空格就是""