|
楼主 |
发表于 2024-3-15 21:16
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
感觉这个程序对于入门来说还挺难的,很多代码都要拆开来看参数说明,有几个子程序啃不动,还在啃子程序2,有一些问题想请教一下版主大大:
第二个子程序 Sub main()中:
--------------------------------------------------------------------------------
Dim mybar As Object, arr, brr, crr, i&, j&, key$, myb, pkey$, test
' 此处的 brr、crr 实际是多余的变量?声明了但未被使用
···
···
···
For j = 2 To UBound(arr, 1)
If Not Tree.exists(arr(j, 1)) Then
If arr(j, 2) = "" Then
AddControlButton "myCell", arr(j, 1), arr(j, 1), j, N_col
Else
AddControlPopup "myCell", arr(j, 1), arr(j, 1)
End If
End If
Next
'遍历第二列以后的以第一列为基准key
'Exit Sub
For i = 2 To UBound(arr) '遍历数据源行
key = arr(i, 1) '关键字从第一列开始
For j = 2 To N_col '遍历2-N列
If arr(i, j) <> "" Then '空格跳过
pkey = key '父节点关键字
key = key & "\" & arr(i, j) '本级关键字
If arr(i, j + 1) = "" Then '下一列为空则直接写命令按钮
AddControlButton pkey, key, arr(i, j), i, N_col
Else '有下级菜单则添加弹出节点
If Not Tree.exists(key) Then '第一次菜单出现
AddControlPopup pkey, key, arr(i, j)
End If
End If
End If
Next
Next
Set mybar = Nothing
--------------------------------------------------------------------------------
请问关于这段代码,下面这2段代码的内容、参数是指什么?
AddControlButton "myCell", arr(j, 1), arr(j, 1), j, N_col:
第一个 `myCell` 是指定CommandBar对象,第一个 `arr(j, 1)` 是按钮的内部名称ID,第二个 `arr(j, 1)` 是按钮显示的文本,`j` 是指什么?, `N_col` 是指按钮位于是菜单的第几级?
AddControlPopup "myCell", arr(j, 1), arr(j, 1):
第一个 `myCell` 是指定CommandBar对象,第一个 `arr(j, 1)` 是按钮的内部名称ID,第二个 `arr(j, 1)` 是按钮显示的文本;
AddControlButton、AddControlPopup:
我查询搜索都说不是一个内建的函数或方法,需要确保已经定义了它,但是代码上下文都没有涉及这个函数的声明...?
|
|