Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Подставление имени при сохранении файла в макросе - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Подставление имени при сохранении файла в макросе (Макросы/Sub)
Подставление имени при сохранении файла в макросе
Symbrion Дата: Среда, 15.02.2017, 17:50 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Вопрос простой, но пока для меня непреодалимый, на форуме честно искал, не нашел. Есть макрос, который открывает и сохраняет файл Excel. Что следует дописать в макросе, чтобы при открытии конкретного файла с определенным названием, макрос сохранял файл *xlsx с тем же именем?
К примеру, есть файл 01.xml, макрос открывает файл, делает определенные действия с таблицами и текстом, и сохраняет в виде 01.xlsx.
И вообще, как заставить макрос открывать все файлы (.xml) в папке и соответственно сохранять из в *xlsx в ту же папку?
 
Ответить
СообщениеВопрос простой, но пока для меня непреодалимый, на форуме честно искал, не нашел. Есть макрос, который открывает и сохраняет файл Excel. Что следует дописать в макросе, чтобы при открытии конкретного файла с определенным названием, макрос сохранял файл *xlsx с тем же именем?
К примеру, есть файл 01.xml, макрос открывает файл, делает определенные действия с таблицами и текстом, и сохраняет в виде 01.xlsx.
И вообще, как заставить макрос открывать все файлы (.xml) в папке и соответственно сохранять из в *xlsx в ту же папку?

Автор - Symbrion
Дата добавления - 15.02.2017 в 17:50
KuklP Дата: Среда, 15.02.2017, 19:48 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2145
Репутация: 463 ±
Замечаний: 0% ±

2003-2010
Есть макрос
- не верю.


Ну, с НДС и мы чего-то стoим! bombb6@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
Есть макрос
- не верю.

Автор - KuklP
Дата добавления - 15.02.2017 в 19:48
K-SerJC Дата: Четверг, 16.02.2017, 09:09 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 243
Репутация: 36 ±
Замечаний: 0% ±

Excel 2013
макрос сохранял файл *xlsx с тем же именем?

ну если чисто теоретически то как то так
[vba]
Код
ActiveWorkbook.SaveAs Filename:= Path & "01.xlsx"
[/vba]
И вообще, как заставить макрос открывать все файлы (.xml) в папке и соответственно сохранять из в *xlsx в ту же папку?

макрос сложно заставить что то делать
можно написать макрос, который будет делать то что вам надо...
но без конкретного примера, конкретного ответа не будет.

макросом можно составить список файлов *.xml, затем в цикле открыть и пересохранить их по этому же пути...
ничего сложного в принципе...


Благими намерениями выстелена дорога в АД.
 
Ответить
Сообщение
макрос сохранял файл *xlsx с тем же именем?

ну если чисто теоретически то как то так
[vba]
Код
ActiveWorkbook.SaveAs Filename:= Path & "01.xlsx"
[/vba]
И вообще, как заставить макрос открывать все файлы (.xml) в папке и соответственно сохранять из в *xlsx в ту же папку?

макрос сложно заставить что то делать
можно написать макрос, который будет делать то что вам надо...
но без конкретного примера, конкретного ответа не будет.

макросом можно составить список файлов *.xml, затем в цикле открыть и пересохранить их по этому же пути...
ничего сложного в принципе...

Автор - K-SerJC
Дата добавления - 16.02.2017 в 09:09
Symbrion Дата: Четверг, 16.02.2017, 11:06 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
- не верю.

Не верите чему? Есть записанный макрос, который автоматизирует удаление лишних столбцов и удаляет повторяющиеся значения. Есть необходимость каждый раз сохранять файл, под тем именем, под которым он был открыт из *.xml (выгрузка только в этом формате) в формат *.xlsx, для построение дальнейших отчетов по регионам.

ActiveWorkbook.SaveAs Filename:= Path & "01.xlsx"

Ну это понятно, а вот если нужно сохранять под другим именем, не 01.xlsx? 85 регионов, там 85 файлов будет.
Пример: открываем 65.xml, преобразуем с помощью макроса, сохраняем с тем же именем 65.xlsx
 
Ответить
Сообщение
- не верю.

Не верите чему? Есть записанный макрос, который автоматизирует удаление лишних столбцов и удаляет повторяющиеся значения. Есть необходимость каждый раз сохранять файл, под тем именем, под которым он был открыт из *.xml (выгрузка только в этом формате) в формат *.xlsx, для построение дальнейших отчетов по регионам.

ActiveWorkbook.SaveAs Filename:= Path & "01.xlsx"

Ну это понятно, а вот если нужно сохранять под другим именем, не 01.xlsx? 85 регионов, там 85 файлов будет.
Пример: открываем 65.xml, преобразуем с помощью макроса, сохраняем с тем же именем 65.xlsx

Автор - Symbrion
Дата добавления - 16.02.2017 в 11:06
buchlotnik Дата: Четверг, 16.02.2017, 11:10 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2754
Репутация: 785 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
Цитата
Есть записанный макрос
так покажите его в файле, а лучше упомянутый вами
Цитата
макрос, который открывает и сохраняет файл Excel


каждому For - Next!
платная помощь:
ЯД: 410012595572239
buchlotnik@mail.ru


Сообщение отредактировал buchlotnik - Четверг, 16.02.2017, 11:12
 
Ответить
Сообщение
Цитата
Есть записанный макрос
так покажите его в файле, а лучше упомянутый вами
Цитата
макрос, который открывает и сохраняет файл Excel

Автор - buchlotnik
Дата добавления - 16.02.2017 в 11:10
devilkurs Дата: Четверг, 16.02.2017, 12:02 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 167
Репутация: 43 ±
Замечаний: 0% ±

Excel 2007, 2010
Сори что встреваю. Недавно раскидывал файлы с большим количеством листов на отдельные книги с одним листом. Писал быстро. Может вам поможет для самостоятельного решения своей задачи



 
Ответить
СообщениеСори что встреваю. Недавно раскидывал файлы с большим количеством листов на отдельные книги с одним листом. Писал быстро. Может вам поможет для самостоятельного решения своей задачи


Автор - devilkurs
Дата добавления - 16.02.2017 в 12:02
K-SerJC Дата: Четверг, 16.02.2017, 14:19 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 243
Репутация: 36 ±
Замечаний: 0% ±

Excel 2013
под которым он был открыт из *.xml (выгрузка только в этом формате) в формат *.xlsx

так в вашем макросе надо завести переменные например
после открытия файла
[vba]
Код

fname=activeworkbook.name
fpath=ActiveWorkbook.Path
[/vba]
после того как выполнили свой код
[vba]
Код
ActiveWorkbook.SaveAs Filename:= path & fname & ".xlsx" , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
[/vba]

p.s. в fname будет имя файла с расширением. .xml можно убрать например так:
[vba]
Код
fname=left(fname,len(fname)-4)
[/vba]

а чтобы все файлы из папки я бы сделал цикл, в котором перебором заполнил в коллекцию имена всех подходящих файлов, потом циклом по коллекции открывал книги и обрабатывал.


Благими намерениями выстелена дорога в АД.

Сообщение отредактировал K-SerJC - Четверг, 16.02.2017, 14:30
 
Ответить
Сообщение
под которым он был открыт из *.xml (выгрузка только в этом формате) в формат *.xlsx

так в вашем макросе надо завести переменные например
после открытия файла
[vba]
Код

fname=activeworkbook.name
fpath=ActiveWorkbook.Path
[/vba]
после того как выполнили свой код
[vba]
Код
ActiveWorkbook.SaveAs Filename:= path & fname & ".xlsx" , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
[/vba]

p.s. в fname будет имя файла с расширением. .xml можно убрать например так:
[vba]
Код
fname=left(fname,len(fname)-4)
[/vba]

а чтобы все файлы из папки я бы сделал цикл, в котором перебором заполнил в коллекцию имена всех подходящих файлов, потом циклом по коллекции открывал книги и обрабатывал.

Автор - K-SerJC
Дата добавления - 16.02.2017 в 14:19
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Подставление имени при сохранении файла в макросе (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!