@ Мигель имеет правильную идею (его комментарий относится к основной теме вопроса).
Этот подход включает определение списка целых чисел, относящихся к кодам ASCII для символов, с которыми у вас возникают проблемы.Перевод строки (10) определенно будет там, и вы можете выбрать возврат каретки (13) запятые (44) или речевые метки (34).
const ListOfSpecialChars = "10,13,34,44"
Вам понадобитсяпроцедура 'encoding', которая принимает строку и выводит строку.Это преобразует текст таким образом: ab,cd"ef -> ab<<44>>cd<<34>>ef
Это будет достигнуто путем разбиения const и циклического перебора каждой из составляющих, выполняя замену:
For Each splitCharVal In Split(ListOfSpecialChars, ",")
stringToEncode = Replace(stringToEncode, Chr(splitCharVal), "<<" & splitCharVal & ">>"
Next
You 'Также понадобится процедура «декодирования», которая работает противоположным образом, и я позволю вам поработать.
Итак, при сохранении файла в CSV вам нужно будет циклически проходить по ячейкам каждой строки ввключите кодирование текста, найденного внутри, а затем записав строку в файл.
При чтении строки из закодированного CSV вам нужно будет выполнить операцию декодирования перед записью текста в файл.лист.