为什么我在2个数组元素之间得到一个空格?

时间:2012-01-31 21:10:24

标签: string vba

更具体地说,为什么我在newFilename中的strarray(1)和strarray(2)之间得到一个空格?提前谢谢!

Sub Button1_Click()

Dim orgFilename As String
Dim temp As String
Dim strarray(3) As String
Dim newFilename As String

orgFilename = Application.GetOpenFilename(FileFilter:="All files (*.), *.", Title:="Please select a file")


temp = Mid$(orgFilename, InStrRev(orgFilename, "\") + 1)
strarray(1) = Left(orgFilename, InStrRev(orgFilename, "\"))
strarray(2) = "processed_"
strarray(3) = temp
newFilename = Join(strarray)


End Sub

2 个答案:

答案 0 :(得分:4)

这是Join()的行为:http://www.vb6.us/tutorials/vb-string-array-functions-split-join-filter

尝试

newFilename = Join(strarray, "") 

答案 1 :(得分:4)

默认情况下,Join会添加空格。 查看此链接中的第一段:

http://msdn.microsoft.com/en-us/library/aa164507%28v=office.10%29.aspx

  

Join函数接受一个字符串数组并返回一个连接的字符串   串。默认情况下,它会在字符串的每个元素之间添加一个空格,   但您可以指定不同的分隔符。

改为使用

newFilename = Join(strarray, "")