0 / 0 / 0
Регистрация: 01.02.2017
Сообщений: 6
|
|||||||||||
1 | |||||||||||
VBS По очереди открывать каждый CSV-файл, запускать макрос и сохранять этот файл в формате XLSX02.02.2017, 00:06. Показов 2201. Ответов 11
Метки нет (Все метки)
Добрый день. Помогите написать скрипт который будет:
У меня есть много файлов в папке С:\1\ имя1.csv имя2.csv .... имя99.csv Нужно чтобы скрипт открывал файлы по очереди и запускал макрос, после выполнения макроса сохранял файл в С:\2\ как имя1.xlsx имя2.xlsx .... имя99.xlsx Добавлено через 1 час 25 минут Нашел на сайте вот этот скрипт:
Добавлено через 1 час 10 минут Заметил такую проблему, если запустить первую часть скрипта:
А если открыть файл имя.csv вручную, то все нормально, каждое значение в своей ячейки. Подскажите как открыть скриптом этот долбанный.csv чтобы значения оставались в своих ячейках?
0
|
02.02.2017, 00:06 | |
Ответы с готовыми решениями:
11
Как можно открывать и сохранять файл через диалоговые окна? Ряд динамически созданных MaskedTextBox сохранять в файл/открывать из файла Макрос. Файл закрыть и не сохранять Помогите пожалуйста, не могу разобраться как сохранять файл, например в формате bmp? |
2618 / 548 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
|
|||||||||||
02.02.2017, 10:08 | 2 | ||||||||||
используйте метод Run объекта Application:
Попробуйте использовать вместо метода Open объекта Workbooks метод OpenText того же объекта, указав True в качестве значения параметра Local (он последний, 18-й по счёту):
0
|
0 / 0 / 0
Регистрация: 01.02.2017
Сообщений: 6
|
|
02.02.2017, 12:21 [ТС] | 3 |
Попробовал запустить на рабочем компе, получается совсем странно:
Исходный csv: Код
А В С D 1: Пусто | 3,15 | 5,67 | 4,85 | 2: Пусто | 5,66 | 9,99 | 2,25 | 3: Пусто | 1,45 | 5,08 | 6;53 | Код
А В С D 1: 3; | 15;5 | 67;4 | 85 | 2: 5; | 66;9 | 99;2 | 25 | 3: 1; | 45;5 | 08;6 | 53 | Код
А В С D 1: 3;15;5;67;4;85 | Пусто | Пусто | Пусто | 2: 5;66;9;99;2;25 | Пусто | Пусто | Пусто | 3: 1;45;5;08;6;53 | Пусто | Пусто | Пусто |
0
|
2618 / 548 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
|
|
02.02.2017, 12:30 | 4 |
Tromal5, приложите, пожалуйста, исходный CSV-файл (если не секрет, конечно).
0
|
0 / 0 / 0
Регистрация: 01.02.2017
Сообщений: 6
|
|
02.02.2017, 14:26 [ТС] | 5 |
В архиве исходный csv и конечный результат xlsx
0
|
2618 / 548 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
|
|||||||||||
02.02.2017, 21:24 | 6 | ||||||||||
В вашем случае открывать CSV-файл надо так:
В этом случае перевести заголовочную часть на рабочем листе в нормальный вид можно, например, так:
0
|
0 / 0 / 0
Регистрация: 01.02.2017
Сообщений: 6
|
|||||||||||
23.03.2017, 11:09 [ТС] | 7 | ||||||||||
Спасибо за помощь, сейчас файл открывается и сохраняется как нужно. Но так как этот файл будет использоваться на разных компьютерах, то макрос нужно вписать внутри кода.С этим у меня небольшая проблема.
Символ: 5 Ошибка: Индекс выходит за пределы допустимого диапазона. До этой строки все работает как нужно. Добавлено через 14 минут Сори, В коде появились звездочки почему-то, не могу убрать их. Вот еще раз код без звездочек.
0
|
2618 / 548 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
|
||||||
23.03.2017, 12:05 | 8 | |||||
Оператор в строке 28 должен выглядеть так:
1
|
0 / 0 / 0
Регистрация: 01.02.2017
Сообщений: 6
|
||||||
23.03.2017, 13:03 [ТС] | 9 | |||||
Спасибо, помогло. Оставил только эту строчку, остальные убрал, так как они все равно не дают нужный мне результат.
Сейчас код работает, но есть один недостаток. Когда он раскрашивает ячейки, то он меньшие значения красит в красный, а большие в зеленый. Впринципе можно оставить и так, но так как это тепловизионный снимок, то гарячие места хотелось бы видеть красным, а не зеленым.
0
|
2618 / 548 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
|
||||||
23.03.2017, 14:25 | 10 | |||||
Ну, используйте что-нибудь такое:
После завершения оформления остановите запись и посмотрите получившийся код. Учтите, что все именованные константы объектной модели Excel надо заменить на их числовые значения. Например, константу xlConditionValueLowestValue надо заменить на значение 1.
0
|
0 / 0 / 0
Регистрация: 01.02.2017
Сообщений: 6
|
|
23.03.2017, 16:25 [ТС] | 11 |
А чем заменить xlConditionValuePercentile и xlConditionValueHighestValue ?
0
|
2618 / 548 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
|
|
24.03.2017, 05:32 | 12 |
Tromal5, всё необходимое можно легко найти с помощью инструмента Object Browser.
0
|
24.03.2017, 05:32 | |
24.03.2017, 05:32 | |
Помогаю со студенческими работами здесь
12
Если я пишу программу на языке Delphi в блокноте, то в каком формате нужно сохранять файл? Как программно сохранять файл xls в текстовом формате, и всё время в одно и тоже место? ПУСТЬ это текстовый файл, который содержит НЕСКОЛЬКО ЦЕЛЫХ ЧИСЕЛ. ОТКРЫТЬ этот текстовый файл и КАЖДЫЙ С ЧИСЕЛ вознести В КУБ. Java Server-Client. Сервер должен сохранять время запроса, сам запрос(сообщение) и IP, с которого пришел запрос в CSV файл Макрос: запускать таймер каждый раз в разных ячейках Найти файл, и в папку где лежит этот файл скопировать другой файл) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |