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

592   2  

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

    Ничего не найдено.