0 / 0 / 0
Регистрация: 15.02.2012
Сообщений: 9
|
||||||
1 | ||||||
Как в коде файлы .xls сохранять в .csv15.02.2012, 12:28. Просмотров 14575. Ответов 13
Метки нет Все метки)
(
у меня их много
я их последовательно открываю, обрабатываю и мне нужно сохранять их в ту же папку под тем же именем, но с расширением .csv вот так пробовала
а как, не подскажете? заранее спасибо
0
|
|
15.02.2012, 12:28 | |
Как НЕ сохранять изменения в файле *.xls Как объединить 2 файла CSV или XLS в 1 Как вывести прайслист в формате xls или csv из 1С Как программно сохранять файл xls в текстовом формате, и всё время в одно и тоже место?
__________________
13
Помогаю в написании студенческих работ здесь. |
|
1 / 1 / 1
Регистрация: 10.04.2011
Сообщений: 415
|
|
15.02.2012, 15:20 | 2 |
Не знаю, но что мешает включить макрорекордер, а потом запустить полученный результат в уже написанном цикле?
0
|
0 / 0 / 0
Регистрация: 15.02.2012
Сообщений: 9
|
|
15.02.2012, 18:26 [ТС] | 3 |
не знаю, но, вероятно, объективные обстоятельства
как вы думаете? или вы не умеете этого делать?
0
|
5 / 5 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
|
||||||
15.02.2012, 20:36 | 4 | |||||
Yulia_286
Это записал макрорекордер:
Боясь повториться, спрошу: "что мешает включить макрорекордер, а потом запустить полученный результат в уже написанном цикле?" vladconn
0
|
1 / 1 / 1
Регистрация: 10.04.2011
Сообщений: 415
|
|
16.02.2012, 13:18 | 5 |
![]()
0
|
1 / 1 / 1
Регистрация: 18.06.2008
Сообщений: 329
|
||||||
16.02.2012, 13:18 | 6 | |||||
Читайте вопрос внимательнее, товарищи.
Ей нужно в ту же папку, с тем же именем. Заранее неизвестными. Т.е. надо подцеплять Application.Path и Application.Name А макрорекордер этого не напишет. Типа так надо:
![]() Надо покопаться.
0
|
1 / 1 / 1
Регистрация: 10.04.2011
Сообщений: 415
|
|
16.02.2012, 13:48 | 7 |
![]() Я написал: [italic]запустить полученный результат в уже написанном цикле[/italic], то есть девушка уже грамотно выполнила преобразование расширения с .xls в .csv и написала цикл обработки всех файлов. Кстати, столь грамотное использование VBA и удержало от подробного ответа - имхо тут просто было неверное понимание того, что банальной заменой расширения невозможно заставить эксель сохранять файл в нужном формате, требуется еще указать FileFormat:==xlCSVMSDOS.
0
|
5 / 5 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
|
|
16.02.2012, 14:09 | 8 |
Letter_D,
Я не считаю, что обязан читать вопрос еще более внимательно. Это обязанность спрашивающего формулировать вопрос в ясном и простом виде. Когда на попытку выяснить детали для пользы же страждущего начинается заигрывание, а не разъяснение этих деталей, то и нечего ожидать. Что касается запятых, а не точек с запятыми, так уже объяснил: csv означает comma separated value (значения разделенные запятыми). Согласен с Johny Walker: спрашивaющий не понимал того, что если блондинку перекрасить, то она от этого не поумнеет. vladconn
0
|
1 / 1 / 1
Регистрация: 18.06.2008
Сообщений: 329
|
|
16.02.2012, 15:46 | 9 |
Ишь какие!
Ругаются. ![]() А xlCSVMSDOS вообще означает сохранение в dos-формате, очень приятному для юзера. ![]() Што такое "csv" - оно понятно (оно и в диалоге сохранения написано, гы), я говорил про другое: когда ручками, то оно сохраняет через точку с запятой, через такой же записанный макрос - через просто запятые. Во как. Что-то с нацнастройками или локальной версией, имхо.
0
|
0 / 0 / 0
Регистрация: 15.02.2012
Сообщений: 9
|
||||||
16.02.2012, 18:02 [ТС] | 10 | |||||
всем привет
не ожидала откликов в таком масштабе)) то, что мне нужно, правда, нельзя подсмотреть в коде, записанном макрорекодером иначе я бы не спрашивала но всем спасибо с запятыми - это для меня не проблема я сама вечером додумала могу выложить, посмотрите, что получилось берет из одной папки, обрабатывает, кладет туда же в формате .csv, все сохраняет и закрывает без всплывающих окон
0
|
5 / 5 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
|
|
16.02.2012, 21:12 | 11 |
Yulia_286,
1. У меня нужно вместо XLS.Name XLS.Path, сверьте. 2. Ваш цикл без нужды обрабатывает и новорожденные csv файлы, раз они в той же папке. 3. Вы забыли показать декларации ваших XLS и book. 4 Вы уверены, что не создаете scripting.FileSystemObject столько раз, сколько файлов в папке? vladconn
0
|
0 / 0 / 0
Регистрация: 15.02.2012
Сообщений: 9
|
|
17.02.2012, 17:29 [ТС] | 12 |
2. я сама боялась, что будет такая бесконечность, но он не берет csv почему-то, к счастью, хотя, по идее, должен?
3. а я не знаю, что такое декларация и для чего это? 4. не уверена, а чем это чревато? я вообще-то занимаюсь VBA дней 10 всего, поэтому, извините, не знаю многих, очевидных для Вас вещей буду благодарна за ответы
0
|
5 / 5 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
|
|
17.02.2012, 22:39 | 13 |
Yulia_286
2. Ваш цикл рассматривает все файлы, включая и новые. Вставьте If ... = ".xls" ... 3. Декларация (пример): Dim objExcel as Excel.Application Dim intIndex as Integer 4. Это чревато поеданием памяти 5. vbBinaryCompare может быть быстрей vbTextCompare. Можете проверить, но это не очень важно. 6. Replace заменит .xls даже если это часть имени, а не расширение, и не возьмет .XLS, .Xls и так далее. Посмотрите методы FileSystemObject для этого. Тоже верно и для ... & "" & ... - что, если "" последняя часть Path? Вдруг это зависит от каких-то локальных настроек? FileSystemObject должен иметь подходящие методы. Успехов vladconn
0
|
0 / 0 / 0
Регистрация: 30.10.2009
Сообщений: 1
|
||||||
10.04.2014, 15:16 | 14 | |||||
Если уж выкладываете коды, то делайте это без ошибок!!!
Найдете 10 отличий
0
|
10.04.2014, 15:16 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь. Как сохранять сгенерированные файлы Как сохранять файлы в формате Word? Exel(csv) в xls Сохранение xls в csv Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |