Вставить данные с возвратом каретки - PullRequest
0 голосов
/ 30 мая 2019

У меня есть командная кнопка, которая вставляет данные в рабочий лист из пользовательской формы, затем сохраняет их как файл .csv.

Затем мы загружаем данные csv, используя другую пользовательскую форму - однако проблема возникает, когдаВозврат каретки вставляется в текстовое поле и вставляется.Очевидно, что первое решение, которое я могу придумать, - остановить ввод запятых - однако, есть ли лучшее решение?

1 Ответ

1 голос
/ 30 мая 2019

@ Мигель имеет правильную идею (его комментарий относится к основной теме вопроса).

Этот подход включает определение списка целых чисел, относящихся к кодам 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 вам нужно будет выполнить операцию декодирования перед записью текста в файл.лист.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...