Конкатенация строк в VBA - PullRequest
       11

Конкатенация строк в VBA

1 голос
/ 17 декабря 2010

У меня есть эта функция:

Function GetFullNameCSV() As String
   GetFullNameCSV = Replace(ThisWorkbook.FullName, ".xlsm", ".txt")
End Function

Если код выглядит следующим образом:

Filename:= "C:\directory\filename.txt"

Я мог бы просто заменить его на это и получить тот же результат:

Filename:= GetFullNameCSV()

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

Connection:= "TEXT;C:\directory\filename.txt"

Мне нужно использовать конкатенацию строк, предположив что-то вроде этого:

Connection:= "\"TEXT;+GetFullNameCSV()+\""

Какой код мне нужно использовать? Спасибо.

1 Ответ

3 голосов
/ 17 декабря 2010

Предполагая, что все разделы всегда отделяются ;, просто разбейте строку на части, затем внесите изменения, а затем снова объедините ее.

Так что с вашим примером я думаю, что это будет что-то вроде (обратите внимание, записано по памяти, поэтому может быть не совсем правильно):

Dim parts() as String
parts = Split(str, ";")

parts(2) = GetFullNameCSV() ' assuming that part 2 is the one you want to replace

str = Join(parts, ";")
...