【发布时间】:2014-08-22 10:42:34
【问题描述】:
我有一个从 Oracle 数据库获取设置的 Excel 电子表格。我试图通过使用记录集值(工作表的名称)调用工作表来更新每个工作表的行高。 rsSettings(1) 是一个字符串值,它是工作表名称。 rsSettings(2) 是行号,rsSettings(3) 是行高。这给了我一个类型不匹配错误:
Do Until rsSettings.EOF
WB.Worksheets(rsSettings(1)).Cells(rsSettings(2), 1).RowHeight = rsSettings(3)
rsSettings.MoveNext
Loop
如果我将 rsSettings(1) 替换为文字字符串值或从 rsSettings(1) 获取其值的字符串变量,或者如果我执行 CStr(rsSettings(1))(如我刚刚发现的那样),这确实有效。 (而且,我可以将值写入单元格。)
因此,虽然现在使用 CStr() 解决了问题,但是否可以将记录集值用作索引值所在的字符串值?
【问题讨论】:
-
尝试
CDbl(rsSettings(3))将其强制转换为Double精度数值。 -
尝试专门使用该字段的
.Value属性,而不是依赖默认行为。