132 / 15 / 2
Регистрация: 27.11.2013
Сообщений: 509
|
||||||
1 | ||||||
Даты, которые при копировании в Excel из файла csv, форматируются как текст10.05.2015, 23:51. Показов 2757. Ответов 16
Метки нет (Все метки)
Проблема такая. В папке есть энное кол-во файлов долбаного формата csv. Они открываются циклом, потому как я не знаю их кол-ва и имени. Код такой
Далее из него в лист Exel копируются 2 столбца. Хрень в том, что один из столбцов - даты, которые при копировании в Exel форматируются как текст, поэтому работать с ними далее невозможно. Если все делать ручками, то все элементарно. Либо при операции "Текст по столбцам" столбик с датами форматируется как даты, либо в операции "специальная вставка" этот долбаный столбик умножаем на 1. В коде VBA никто не предлагает мне указать формат столбика как даты, а специальная вставка не работает. Если записать в макрос эту специальную вставку, макрос она запишет, но работать как спец. вставка макрос не будет. Что делать?!!!!!!
0
|
10.05.2015, 23:51 | |
Ответы с готовыми решениями:
16
EXCEL - Корежатся даты при копировании макросом Как при заблокированном копировании из PDF файла извлечь текст? Как менять кодировку при копировании данных из DataGridView на лист Excel Как правильно написать скрипт для чтения файла с расширением .csv(Excel) ? |
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|
11.05.2015, 00:02 | 2 |
1
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
11.05.2015, 06:58 | 3 |
копируются так, как указано в коде. Никто не мешает форматировать переносимые значения и кодом макроса
1
|
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
|
11.05.2015, 09:40 | 4 |
Сообщение от shavka
1
|
132 / 15 / 2
Регистрация: 27.11.2013
Сообщений: 509
|
|
11.05.2015, 12:24 [ТС] | 5 |
xlsx файл - это куда вставляется, а в csv-файлах пришлось поменять расширение на txt, тут csv-формат загружать нельзя. С txt проблем нет - в прошлом году были txt, и все было ОК, код работал как зверь.
0
|
132 / 15 / 2
Регистрация: 27.11.2013
Сообщений: 509
|
|
11.05.2015, 12:26 [ТС] | 6 |
Хрень в том, что в этом случае я не знаю, как прицепить в этот оператор переменную имени файла. Файлов много, и открываются они из папки циклом.
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
||||||
11.05.2015, 13:13 | 7 | |||||
Да точно так же.
Добавлено через 1 минуту Вот пример кода - начало:
1
|
132 / 15 / 2
Регистрация: 27.11.2013
Сообщений: 509
|
|
11.05.2015, 19:41 [ТС] | 8 |
Люди, я фигею. Сделал через Workbooks.Open Text..... В FieldInfo в первом столбце поставил 4 (дата). Ни х... чего. Тот же результат. Самое обидное, то что руками это делается на 1-2-3, VBA не делает никак. Придеца код делить на две части. В первой части редактировать руками эти долбаные даты.
0
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
||||||
11.05.2015, 20:12 | 9 | |||||
Сообщение было отмечено shavka как решение
Решениеcsv-файлы это текстовые файлы. И их вполне можно открывать старыми способами бейсика и ибрабатывать в памяти в массивах. Например так:
Потом построчно обрабатываем Добавлено через 2 минуты Судя по файлу потом Split по ";" Добавлено через 2 минуты Есть куча тем типа: перебрать файлы в папке Добавлено через 1 минуту Сек. Нацарапаю пример
1
|
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
|
11.05.2015, 20:27 | 10 |
Excel XP (и старше) FieldInfo:=Array(1, 4), Local:=True
Excel 2000 Date field data is incorrect if you use Open or OpenText to open a.csv file in Excel 2000
1
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
11.05.2015, 21:25 | 11 |
Split по ";" не всегда подходит - бывает что эти разделители присутствуют внутри значения столбца. Но редко.
Но вот в этом файле в заголовке как раз такой случай...
1
|
132 / 15 / 2
Регистрация: 27.11.2013
Сообщений: 509
|
|
13.05.2015, 00:57 [ТС] | 12 |
Люди, я разобрался, в чем проблема. В некоторых файлах в столбиках, где цифры (не даты, даты только в первом столбце) есть дробные числа, где есть запятая. Т.е если в правильных файлах все цифры целые, то в этих файлах есть, например, 2710,5. Патаму комп с ума и сходит и пишет всякую ересь. С этим бороться видимо, невозможно. Спасибо всем за помочь. Узнал много полезного, пригадицца.
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
13.05.2015, 08:23 | 13 |
Там в мастере импорта файлов ведь есть выбор разделителя - так что бороться можно.
Добавлено через 2 минуты Хотя смотрю приложенный текст - там всюду десятичный разделитель точка, откуда там возьмутся числа с запятой?
1
|
132 / 15 / 2
Регистрация: 27.11.2013
Сообщений: 509
|
|
13.05.2015, 17:31 [ТС] | 14 |
Если руками открыть файл золотишка (GDU5) - там переведенный в рубли долларовый курс, там появляются дробные числа. Странно, но если открывать руками, все правильно открывается, только даты в текстовом формате, что убирается сотней способов. И все эти способы не работают в VBA. Например, умножение на 1 (PasteSpecial), замена точки на / и т.д. Можно кодом VBA открыть файл csv без разделения на столбцы, а потом кодом же разделить на столбцы с указанием всех параметров - ошибается, собака!
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
13.05.2015, 18:03 | 15 |
А, так там разделитель полей другой, нет проблем в мастере задать десятичный разделитель.
Вообще конечно бардак что такая чехарда с разделителями полей - но можно кодом посмотреть что за пятый символ, и соотв. изменить дальнейший код.
1
|
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
13.05.2015, 20:03 | 16 |
Обещал набросать, да замотался..
Примерно так:
1
|
132 / 15 / 2
Регистрация: 27.11.2013
Сообщений: 509
|
|||||||||||
16.05.2015, 17:10 [ТС] | 17 | ||||||||||
Все перепробовал, наиболее устойчивая конструкция такая: в цикле открываю файлы с помощью OpenText, при этом во всех настройках ставлю False, т.е. фактически сбрасываю все настройки:
0
|
16.05.2015, 17:10 | |
16.05.2015, 17:10 | |
Помогаю со студенческими работами здесь
17
Как сделать, что бы окно не висло при копировании файла? И покритикуйте плз проект Как при копировании xcopy в путь файла включить папку которая оканчивается на определенные символы Как сохранить дату создания файла при его копировании с FTP-сервера на мой компьютер? Как удалить пробелы при формировании CSV файла (УТ10) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |