乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 30|回复: 2

下拉列表框

[复制链接]

55

主题

190

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
410
发表于 2007-8-17 15:06:02 | 显示全部楼层 |阅读模式
我是vba的新手,知道的足够多,所以我很愚蠢。所以请善待我。
我正在尝试创建一个vba脚本,该脚本将在当前ACAD2008图形中插入一个块。某个型号有不同的零件号/扩展名,所以我想我应该使用组合框/案例语句来允许用户选择他需要的项目。它部分工作,但问题是,它总是只抓取列表中的第一项,即使选择了另一项。这是代码,(附dvb)。如有任何帮助,将不胜感激。

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2007-8-17 15:17:50 | 显示全部楼层
好的,有几个问题......
您正在尝试读取按钮的文本,而不是组合框,即
  1. Select Case cmd_sensor_t7770a.Text
  2.      Case t7770a1006    'Calls sub from Module_sensor
  3.           Sensor_t7770a1006_get
  4.      Case t7770a1022    'Calls sub from Module_sensor
  5.          Sensor_t7770a1022_get
  6.      Case "t7770a2004"   'Calls sub from Module_sensor
  7.            Sensor_t7770a2004_get
  8.      Case t7770a2012    'Calls sub from Module_sensor
  9.            Sensor_t7770a2012_get
  10.      Case t7770a3002   'Calls sub from Module_sensor
  11.            Sensor_t7770a3002_get
  12.    End Select

您应该这样阅读相关组合框的内容:
  1. Select Case ComboBox_t7770a.Text
  2.      Case t7770a1006    'Calls sub from Module_sensor
  3.           Sensor_t7770a1006_get
  4.      Case t7770a1022    'Calls sub from Module_sensor
  5.          Sensor_t7770a1022_get
  6.      Case "t7770a2004"   'Calls sub from Module_sensor
  7.            Sensor_t7770a2004_get
  8.      Case t7770a2012    'Calls sub from Module_sensor
  9.            Sensor_t7770a2012_get
  10.      Case t7770a3002   'Calls sub from Module_sensor
  11.            Sensor_t7770a3002_get
  12.    End Select

此外,您还应该将值作为文本字符串进行比较,因为您已经编写了代码将大小写与变量进行比较。即您的文本比较必须在引号中如下所示:
  1. Select Case ComboBox_t7770a.Text
  2.      Case "t7770a1006"    'Calls sub from Module_sensor
  3.           Sensor_t7770a1006_get
  4.      Case "t7770a1022"    'Calls sub from Module_sensor
  5.          Sensor_t7770a1022_get
  6.      Case "t7770a2004"   'Calls sub from Module_sensor
  7.            Sensor_t7770a2004_get
  8.      Case "t7770a2012"    'Calls sub from Module_sensor
  9.            Sensor_t7770a2012_get
  10.      Case "t7770a3002"   'Calls sub from Module_sensor
  11.            Sensor_t7770a3002_get
  12.    End Select

您有相当多的事情要纠正,但一旦您这样做,它应该会按预期工作。
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2007-8-17 15:22:57 | 显示全部楼层
我马上看到了一些东西。你只是一遍又一遍地重复(重新键入)相同的代码,只是改变了块名,所以也许我们可以把它压缩成一个函数,把块名作为一个参数。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-6 10:38 , Processed in 0.841987 second(s), 63 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表