Почему я получаю пробел между двумя элементами массива? - PullRequest
2 голосов
/ 01 февраля 2012

Более конкретно, почему я получаю пробел между strarray (1) и strarray (2) в newFilename?Заранее спасибо!

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 ]

4 голосов
/ 01 февраля 2012

Присоединение добавляет пробелы по умолчанию.Посмотрите первый абзац в этой ссылке:

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

Функция Join принимает массив строк и возвращает объединенную строку.По умолчанию он добавляет пробел между каждым элементом строки, но вы можете указать другой разделитель.

вместо этого используйте

newFilename = Join(strarray, "") 
4 голосов
/ 01 февраля 2012

Это поведение Join (): http://www.vb6.us/tutorials/vb-string-array-functions-split-join-filter

Попробуйте

newFilename = Join(strarray, "") 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...