下拉列表框
我是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
此外,您还应该将值作为文本字符串进行比较,因为您已经编写了代码将大小写与变量进行比较。即您的文本比较必须在引号中如下所示:
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]