下拉列表框
我是vba新手,知道得足够愚蠢。所以,请善待我。我正在尝试创建一个vba脚本,该脚本将在当前ACAD2008图形中插入一个块 ;某个模型有不同的零件号/扩展名,所以我想我应该使用一个组合框/案例语句来允许用户选择他需要的项目。它可以部分工作,但问题是,即使选择了另一项,它也总是只抓取列表中的第一项。这是代码,(附dvb)如有任何帮助,将不胜感激**** Hidden Message ***** 正在查看 好的,有几个问题……您试图读取的是按钮的文本,而不是组合框,即
Select Case cmd_sensor_t7770a.Text
Case t7770a1006 'Calls sub from Module_sensor
Sensor_t7770a1006_get
Case t7770a1022 'Calls sub from Module_sensor
Sensor_t7770a1022_get
Case "t7770a2004" 'Calls sub from Module_sensor
Sensor_t7770a2004_get
Case t7770a2012 'Calls sub from Module_sensor
Sensor_t7770a2012_get
Case t7770a3002 'Calls sub from Module_sensor
Sensor_t7770a3002_get
End Select
您应该阅读相关组合框的内容,因此:
Select Case ComboBox_t7770a.Text
Case t7770a1006 'Calls sub from Module_sensor
Sensor_t7770a1006_get
Case t7770a1022 'Calls sub from Module_sensor
Sensor_t7770a1022_get
Case "t7770a2004" 'Calls sub from Module_sensor
Sensor_t7770a2004_get
Case t7770a2012 'Calls sub from Module_sensor
Sensor_t7770a2012_get
Case t7770a3002 'Calls sub from Module_sensor
Sensor_t7770a3002_get
End Select
此外,您还应该将值作为文本字符串进行比较,在编写代码时,代码会将案例与变量进行比较。i、 e.文本比较必须用引号括起来,如下所示:
Select Case ComboBox_t7770a.Text
Case "t7770a1006" 'Calls sub from Module_sensor
Sensor_t7770a1006_get
Case "t7770a1022" 'Calls sub from Module_sensor
Sensor_t7770a1022_get
Case "t7770a2004" 'Calls sub from Module_sensor
Sensor_t7770a2004_get
Case "t7770a2012" 'Calls sub from Module_sensor
Sensor_t7770a2012_get
Case "t7770a3002" 'Calls sub from Module_sensor
Sensor_t7770a3002_get
End Select
你有很多事情要纠正,但一旦你做到了,它就会按你的意愿工作。 我马上就能看到几件事 ;您只需更改块名就可以一遍又一遍地重复(重新键入)相同的代码,因此我们可以将其压缩为1个函数,并将块名作为参数。
页:
[1]