|
楼主 |
发表于 2012-12-19 13:00
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
蓝纸船 发表于 2012-12-19 08:27
不是system32,会是这个问题吗?
我没有用过64位系统,如果引用不行,可采用后期绑定
一、New Dictionary都改为Object
二、3个程序开始都加上:
Set d = CreateObject("scripting.dictionary")
Set ds = CreateObject("scripting.dictionary")
Set dic = CreateObject("scripting.dictionary")
三、窗体中有用到 d.Keys(i),要把 d.Keys赋给一个变量k
k=d.keys
.Caption = d.Keys(i)改为.Caption = k(i)- Private Sub UserForm_Activate()
- Dim l%, m%, n%, i%, k
- CheckBox100.Value = True
- l = WorksheetFunction.RoundUp(d.Count / 2, 0)
- k = d.Keys
- For i = 0 To d.Count - 1 '逐个字段添加动态复选框
- m = i Mod l '求余数,决定控件的横坐标
- n = Int(i / l) * 24 '控件的纵坐标增量
- With Controls.Add("Forms.CheckBox.1", "CheckBox" & i + 2, True) '添加动态复选框
- .Move 250 + 60 * (m + 1), 1 + n '前面是X(距左边的距离),后面是Y(距上边的距离)
- ' .Caption = d.Keys(i) '显示字段名
- .Caption = k(i)
- .Width = 60 '宽度
- .Height = 30
- End With
- Next
- If dic.Count = 1 Then '全部工作表列数相同
- CheckBox1.Value = True
- Else '列数不同
- CheckBox1.Enabled = False '“*”复选框无效
- CheckBox101.Value = True '全部字段
- End If
- If flag Then CheckBox102.Enabled = False
- End Sub
复制代码 |
|