我正在尝试删除字符串的最后一个字符,因为我用一个循环填充字符串,在添加每个新字符串后自动添加“,”,如:
Do Until EOF(1)
...
(get string)
...
Ref = Ref + String
Ref = Ref + ","
Loop
Ref = Left(Ref, Len(Ref) - 1) (Delete last "," of ref)
当试图运行它时,我在LEFT函数上得到“错误数量的参数或无效的属性赋值”错误。
我试图研究这个错误,但我唯一能找到的是关于工具 - 参考文献缺失,而他们不是(据我所知)。 我发现的线程都是针对excel的vba而不是这里的情况,这是在反射工作区中运行的脚本的代码。
还有另一种删除字符串最后一个字符的方法吗?或者有什么错误可以保证这个错误吗?我似乎无法弄清楚这一点。
感谢您的时间。
答案 0 :(得分:1)
不是做错事然后试图撤消它,为什么不首先防止错误呢?
发现循环的第一次运行要比上一次容易得多:
Dim first as Boolean
first = True
Do Until EOF(1)
...
(get string)
...
If first Then
first = False
Else
Ref = Ref + ","
End If
Ref = Ref + String
Loop
答案 1 :(得分:1)
不确定为什么你的left
函数不起作用,这是正确的语法,假设Ref
实际上是一个字符串。我怀疑你没有提供真实代码这一事实隐藏了我们的理由。
请注意,该错误消息中有两个子句:
参数数量 OR 参数无效。
This page详细说明了可能的原因。
在任何情况下,做一些类似于你自己的伪代码更容易:
sep = ""
ref = ""
do until eof(1)
string = getString()
ref = ref + sep + string
sep = ","
loop
换句话说,事先创建正确的字符串,而不是之后尝试修复它。