Страницы: 1
RSS
Макрос для создания csv файла из накладной хls
 
Всем привет! Помогите пожалуйста создать макрос для генерирования csv файла из
накладной xls. Накладная выгружается из 1с с разными именами, с разным количеством и
ассортиментом товара, для csv нужно только определённые данные.
В итоге хочется получить такой инструмент:
1. Файлы с накладными xls лежат в определенной папке
2. Открываю файл xls, запускаю макрос
3. В подпапке с накладными создается файл csv с нужными данными.
4. Открываю следующий файл xls и тд.

Спасибо!
Изменено: mrtopgun - 07.07.2015 13:02:32
 
Цитата
mrtopgun написал:Помогите создать макрос
Вкл. макрорекордер - Выполнить пункты 1,2,3,4 - Выкл макрорекордер.
Согласие есть продукт при полном непротивлении сторон
 
Sanja, Спасибо за ответ,  пробовал, на следующем файле макрос не работает.  Разное количество строк в накладных бывает.  
 
выложите пример не с одним товаром
и что такое число 210 - затребовано или отпущено?
Изменено: Слэн - 07.07.2015 13:33:37
Живи и дай жить..
 
Назовите следующий файл как предыдущий - сработает.
Ну или добавьте в код перебор файлов - примеры на форумах есть (на всех, там где Вы мне на аналогичную помощь не ответили - тоже можно найти).
 
Слэн, 210 - затребованно. Пример с несколькими позициями во вложение.

Спасибо.
 
зарегестрируйте этот файл в качестве надстройки, путь  папкапрограммы\подпапка должен существовать
Живи и дай жить..
 
Слэн, Большое спасибо.  Работает следующим образом:
Открываю файл с накладной xls,  тут же появляется ещё один файл xls с нужной информацией для csv,  сам в csv не сохраняет,  можно добавить такой функционал?  
 
Слэн, Добрый день!  Получилось сделать,  чтобы сохранял в эту же папку где лежит xls,  но при сохранение csv данные записываются через запятую,  когда это делаешь в ручную (сохранить как выбираю CSV (Comma delimited) (*. csv) ,  данные пишутся в отдельные ячейки по строкам.
изменил строчку

.SaveAs Replace(Replace(wb.FullName, wb.Name, "" & wb.Name), "xls", "csv"), xlCSV
 
В csv нет никаких ячеек, это всего лишь текст с разделителями.
По поводу их - добавьте local:=True и будет как вручную.
 
Hugo, Спасибо,  работает.  Ещё вопрос если можно, как сделать чтобы в подпапку с именем csv, сохранялись файлы csv?
Заметил,  что если код товара содержит в конце "х",   в csv он попадает без "х".  
 
вот же изначальный вариант( ну добавлено local:=true)
Код
.SaveAs Replace(Replace(wb.FullName, wb.Name, "подпапка\" & wb.Name), "xls", "csv"), xlCSV, local:=True
вместо "подпапка\" укажите название своей папки ( и об этом я писАл)

а то щас у вас это выражение выродилось в тавтологию.. удаляем из полного имени короткое и тут же опять добавляем..
Живи и дай жить..
 
Слэн,спасибо,  все работает.  слеш один лишний был.
Изменено: mrtopgun - 08.07.2015 17:34:01
 
Доброго времени суток!
Прошу помочь оптимизировать макрос, который перебирает все файлы в папке, делает из них csv и добавляет их в письмо как вложение, перемещает исходный файл в другую папку, предварительно подготовив на печать на одной странице. В принципе все работает только как то не быстро.
Скрытый текст


Большое спасибо.
Страницы: 1
Читают тему
Наверх