|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Разбивка строк общего файла на отдельные csv файлы |
|
VBA - Разбивка строк общего файла на отдельные csv файлы
|
Пользователь Сообщения: 60 |
Профиль | Отправить PM | Цитировать
Добрый день всем!! Нужна помощь с написанием макроса.
Имеется 3 папки Шаблон, Реестр и Итог В папке Реестр лежит исходный файл excel с данными. В папке шаблон лежит файл с именем check формата csv, который планируется использовать в качестве шаблона. Нужен макрос, который бы открывал исходный файл, копировал данные в файл шаблона.csv и сохранял этот файл шаблона в папку "Итог" с именем сheck1. Каждая строка исходного файла = один файл check. То есть если в исходном файле условно 50 строк, то должно получиться 49 чеков(в последнюю строку исходного файла выводится общая сумма, она не нужна) Имена файлов в папке итог должны быть от check1 до условно check49 Данные для копирования: E2(исх) в B3(шаблон); E2(исх) в F2(шаблон); F2(исх) в D3,D4,H3(шаблон) В файле шаблона check ячейка L3 должна рассчитываться по формуле (F2(исх)*18)/118 F2, E2 это ячейки первой строки с данными, т.к выше только заголовки столбцов. То есть когда цикл пробегает по следующей строчке, будет уже не F2, E2 а F3, E3 и т.д Надеюсь понятно объяснил) С VBA знаком крайне поверхностно. Нашел на форуме лишь решение по копированию файлов. Sub DirCopy() Dim OldPath$, NewPath$, Shablon$, OnlyName$ OldPath = "C:\proba\zvit\" NewPath = "C:\proba\Temp\" Shablon = "*.*" OnlyName = Dir(OldPath & Shablon, vbReadOnly + vbHidden + vbSystem) Do Until OnlyName = "" FileCopy OldPath & OnlyName, NewPath & OnlyName OnlyName = Dir Loop End Sub |
|
Отправлено: 14:08, 02-09-2018 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать jordan_74, замечательно. Убирайте комментарий с первой строки и паузу в конце.
Пакетный файл требуется сохранять в кодировке OEM/866. У Вас это не так, посему и не находится ни единого файла. А меня ещё здесь шпыняют, |
Отправлено: 17:26, 12-09-2018 | #31 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 60
|
Профиль | Отправить PM | Цитировать Iska,
мне остается посмеяться только над самим собой Все работает, обычная невнимательность с моей стороны была причиной всему. Ещё раз огромное спасибо!!!!!! |
Отправлено: 18:13, 12-09-2018 | #32 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать jordan_74, ничего страшного, бывает. А вот мне следовало бы зараз догадаться о причинах .
|
Отправлено: 18:26, 12-09-2018 | #33 |
Пользователь Сообщения: 60
|
Профиль | Отправить PM | Цитировать Iska,
Добрый день! Я прошу прощения, понадобилось всё таки сделать кол-во знаком после запятой не 1 а 2 Много перерабатывать, где корректировки внести подскажите пожалуйста? |
Отправлено: 12:11, 20-09-2018 | #34 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата jordan_74:
|
|
Отправлено: 12:27, 20-09-2018 | #35 |
Пользователь Сообщения: 60
|
Профиль | Отправить PM | Цитировать Iska,
Да я уже поправил, спасибо. И теперь встал наверно главный вопрос. Нужно чтобы скрипт отрабатывал, при этом батник запускающий скрипт и скрипт лежали где то в другом месте, не на компе пользователя Передавать параметры. Все для того, чтобы при переносе на другой комп, не приходилось постоянно менять пути в скрипте и батнике. |
Отправлено: 12:32, 20-09-2018 | #36 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать jordan_74, поясните более подробно, что Вы имеете в виду.
|
Отправлено: 12:48, 20-09-2018 | #37 |
Пользователь Сообщения: 60
|
Профиль | Отправить PM | Цитировать Iska,
Скрипт, шаблон и батник, который запускает скрипт будут лежать где то в сети. Пользователь на своём компе будет запускать батник, который активирует(запускает) батник - который запускает в работу скрипт. )) я прошу прощения за такую тавтологию. У пользователя будет 2 папки - Реестр и Итог, и тот самый батник. Как это можно осуществить? ) Я полагаю это можно сделать как то с помощью передачи параметров. В качестве параметров видимо должны быть пути к папке с файлом(ами) реестра, и к папке Итог |
Последний раз редактировалось jordan_74, 20-09-2018 в 13:24. Отправлено: 12:55, 20-09-2018 | #38 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Отнюдь. У нас три составляющих:
Ваши предложения? |
Отправлено: 20:03, 20-09-2018 | #39 |
Пользователь Сообщения: 60
|
Профиль | Отправить PM | Цитировать Iska,
Откровенно говоря предложений пока нет. Можно попытаться использовать команду "psexec" для запуска батника(а затем и скрипта по сети) //что то в духе @echo off psexec \\IP или имя компа\Documents and Settings\User\kill.cmd exit |
Отправлено: 11:57, 25-09-2018 | #40 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Создание .bat файла для выборки строк из .csv файла в .xlsx | GODolubOFF | Скриптовые языки администрирования Windows | 10 | 14-12-2015 15:34 | |
CMD/BAT - Чтение указанной строки и разбив на отдельные символы и запись их в отдельные меремен | angel_lyucifer | Скриптовые языки администрирования Windows | 0 | 10-05-2015 20:48 | |
CMD/BAT - [решено] Периеминование файла doc.csv в Документ_дата_время.csv | kagorec | Скриптовые языки администрирования Windows | 2 | 29-03-2014 18:40 | |
CMD/BAT - [решено] Разбивка текстового файла файла | Seryoga204 | Скриптовые языки администрирования Windows | 1 | 04-10-2010 21:19 | |
Установка - Разбивка файла .gho на куски | Pavelnt | Microsoft Windows 2000/XP | 2 | 15-05-2009 12:15 |
|