У меня к вам очень простой вопрос, но я не могу найти его в Интернете. У меня есть список ArrayList(i), в котором я хочу заменить некоторые строки только одной строкой. После этой строки ее следует снова изменить. Это работает, но я хочу научиться делать это более эффективно. Я предполагаю, что мне нужен цикл только для строки «имя_файла», но я не уверен. Длина ArrayList каждый раз разная и не всегда содержит заменяемые строки, а только иногда.
'REPLACE NAME
ArrayList(i) = Replace(ArrayList(i), "NameOld1", "NameNew1")
ArrayList(i) = Replace(ArrayList(i), "NameOld2", "NameNew2")
finalName = PathCut & "XT\" & NumPart(initName) & "_" & partcode & " " & ArrayList(i) & " " & CodeNR & ExtNew
'REPLACE NAME BACK
ArrayList(i) = Replace(ArrayList(i), "NameNew1", "NameOld1")
ArrayList(i) = Replace(ArrayList(i), "NameNew2", "NameOld2")
swApp.CloseDoc ArrayList(i) & ".SLDPRT" 'Close the files
Я уверен, что должен быть более простой и чистый способ. Заранее спасибо!
Введите новую переменную newStr
и используйте вложенную функцию Replace
, тогда вам не придется возвращать ее с помощью двух последних замен.
Dim newStr As String
newStr = Replace(Replace(ArrayList(i), "NameOld1", "NameNew1"), "NameOld2", "NameNew2")
finalName = PathCut & "XT\" & NumPart(initName) & "_" & partcode & " " & newStr & " " & CodeNR & ExtNew
swApp.CloseDoc ArrayList(i) & ".SLDPRT" 'Close the files