vba замена двух кавычек на одну / создание txt файлов
Я создал макрос, который генерирует txt-файлы с данными из каждой строки в excel. У меня проблема с " (кавычки)
Вот строка из VBA, которая создает проблемы:
wsTemp.Cells(6, 1).Value = "The ""Number"" is " & wsSource.Cells(r, 3).Value
Мне это нужно: The "Number" is MYNUMBER
Вместо этого я получаю следующее: " The ""Number"" is" MYNUMBER
Это тоже не работает:
wsTemp.Cells(6, 1).Value = "The" & Chr(34) & "Number"" is " & Chr(34) & wsSource.Cells(r, 3).Val (получил тот же результат)
Я попытался заменить "" на Chr(34) (не сработало)
Я также попытался заменить функцию в конце:
wsTemp.Cells(6, 1).Value = Replace(wsTemp.Cells(6, 1).Value, """", """) (не сделал этого работал) и
wsTemp.Cells(6, 1).Value = Replace(wsTemp.Cells(6, 1).Value, """", Chr(34)) (не сработало также)
Replace() работает с другими Chr() или с Replace(wsTemp.Cells(6, 1).Value, """", ""), но не с Chr (34)
В любом случае, мне нужен один ", а не два " или что-нибудь еще
Я сохраняю сгенерированные файлы как xlCurrentPlatformText и .txt, я также пробовал другие форматы
Кроме того, я заметил это, когда вручную сохранял тот же текст из excel, что и txt
Я перепробовал почти все и ничего не получилось
Я использую Win 7 и Excel 2013
2 ответов:
Попробуйте его в качестве одного из них,
With wsTemp.Cells(6, 1) .Value = Format(wsSource.Cells(r, 3).Value2, "\T\h\e \""\N\u\m\b\e\r\"" \i\s 0") .Offset(1, 0) = "The ""Number"" is " & wsSource.Cells(r, 3).Value2 .Offset(2, 0) = "The " & Chr(34) & "Number" & Chr(34) & " is " & wsSource.Cells(r, 3).Value2 End With
Поэтому я сделал это как @xidgel suddgested, с FindAndReplaceText (fart)
Я заменил все
"на$$$$Я создал файл replace.летучая мышь
fart -r "MYLOCATION*.txt" $$$$ \"И добавлена команда Shell execute в конце макроса vba
Call Shell("C:\LOCATION\replace.bat", vbNormalFocus)
Comments