【问题标题】:How can I use quotes inside of an input string in VBA?如何在 VBA 的输入字符串中使用引号?
【发布时间】:2010-11-09 19:54:47
【问题描述】:

我正在尝试在 MS-Access2007 VBA 中为列表框输入 ColumnWidths,但在获取十进制数字时遇到了问题。

代码:

ResultList.ColumnWidths = "1;0.65;0.7;0.7;0.8;0.4"
Debug.Print ResultList.ColumnWidths

为 ColumnWidths 添加了什么:

1;1;1;1;1;0

我想让它在输入后的样子(基于现在的情况):

1";0.65";0.7";0.7";0.8";0.4"

问题:

如何让它识别出我想要小数点以使其停止四舍五入?有没有办法在要输入的字符串中加上引号?

【问题讨论】:

    标签: ms-access vba ms-access-2007


    【解决方案1】:
    ResultList.ColumnWidths = "1 cm;0.65 cm;0.7 cm;0.7 cm;0.8 cm;0.4 cm"
    

    查看 ColumnWidths 的文档。它说

    ColumnWidths 属性保存一个值,以英寸或厘米为单位指定每列的宽度,具体取决于在 Windows 控制面板的区域选项对话框的数字选项卡上的测量系统框中选择的测量系统(美国或公制)。默认设置为 1 英寸或 2.54 厘米。对于列表框或组合框中的每一列,ColumnWidths 属性设置的值必须介于 0 到 22 英寸(55.87 厘米)之间。

    编辑:您也可以以英寸为单位指定宽度。

    ResultList.ColumnWidths = "1 in;0.65 in;0.7 in;0.7 in;0.8 in;0.4 in"
    

    【讨论】:

    • 嗯....当我尝试 ResultList.ColumnWidths = "1 in;0.65 in;0.7 in;0.7 in;0.8 in;0.4 in" 我得到 1440;936;1008;1008;1152 ;576
    • 虽然这对我来说很奇怪,但它正在工作,所以我会继续。谢谢。
    • 它将您的值转换为缇,或“点的二十分之一”。一英寸有 72 个点,一英寸有 72 * 20 = 1440 缇。
    • 谢谢托德。 Twips 是 VB6 时代使用的一个词。
    • TWIPS 是做到这一点的方式,并且一直如此。省去了每次都必须指定单位的麻烦。您只需将本地默认值乘以 1440。
    【解决方案2】:

    Shahkalpesh 为您提供了问题的解决方案,但您实际问题的答案是将字符串中的每个引号加倍。

    sWidths = "1"";0.65"";0.7"";0.7"";0.8"";0.4"""
    Debug.Print sWidths
    
    ->  1";0.65";0.7";0.7";0.8";0.4"
    

    太丑了!这是您在常规 VB 字符串变量中执行此操作的方式,但它不是该属性的正确语法。

    【讨论】:

      猜你喜欢
      • 2011-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-19
      相关资源
      最近更新 更多