LibreOffice如何将Cell.CellAddress.Row转为字符串拼接生成CellRange地址
问题原因
Cell.CellAddress.Row返回的是数值类型,直接用+和字符串类型的subStrRan运算时,宏语言无法自动匹配+的运算规则(数值加法/字符串拼接),因此触发类型不兼容报错。
解决方法
有两种常用的修复方案:
方案1:手动转换数值为字符串
使用CStr()函数将行号数值转换为字符串类型后再拼接,修改第5行代码即可:
subStrRan = subStrRan + CStr(Cell.CellAddress.Row)
方案2:使用专用字符串拼接运算符(更推荐)
Basic语法中&是专门用于字符串拼接的运算符,会自动将非字符串类型的参数转为字符串,无需手动转换,写法更简洁,也避免漏转类型的问题:
subStrRan = subStrRan & Cell.CellAddress.Row
完整修复后代码
CellRange = sheetb.getCellByPosition(nColumn, i) Cell = CellRange.findFirst(Descript) Dim subStrRan As string subStrRan = "B1:B" subStrRan = subStrRan & Cell.CellAddress.Row print subStrRan
内容的提问来源于stack exchange,提问作者Tobi S
相关产品推荐
相关产品推荐

