Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 28
Благодарности: 0

Профиль | Отправить PM | Цитировать


a_axe - браво!

Всем - здравствуйте!
Поподробнее обо всем. Каждый день скачиваю данные с десяти узлов с параметрами работы в виде файла .xlsx. Эти десять файлов нужно привести в читабельный вид. Для этого написал макрос:

Sub Macros1ALL()
'
' Macros1
'
For i = 1 To 10
' тут производится форматирование
ActiveWorkbook.Save
ActiveWindow.Close
Next i
End Sub

Сохраняю макрос и не забываю указать, что он находится в "Все открытые книги".
Запускаю файл с макросом, затем в проводнике выделяю все 10 файлов и нажимаю "Открыть".
Последний открытый файл становится "ActiveWindow". Из этого файла выбираю: Разработчик-Макросы-Macros1-Выполнить.
Все прекрасно работает, файлы сохраняются в той папке, откуда были вызваны . Проблема была в том, что нужно было сохранять эти файлы еще и на USB-диск.
Сегодня утром нашел (до того как зашел на форум - a_axe опередил): https://docs.microsoft.com/ru-ru/off...-network-drive
После этого макрос принял вид:

Sub Macros2GALL()
'
' Macros1
'
For i = 1 To 10

ActiveWorkbook.Save
MyFile = ActiveWorkbook.Name
ActiveWorkbook.SaveAs Filename:="I:\CG\KPR\" & MyFile
ActiveWindow.Close
Next i
End Sub

В своих поисках я исходил из следующего: не может быть, чтобы для выполнение такой рутинной операции было необходимо вызывать целую процедуру. Должен был быть более простой путь. Разработчики пакета Office не могли об этом не подумать!
Я скачал и исследовал несколько книг по VBA-программированию, но ни одна из них мне не помогла.
Зато помогли мне вы, мои друзья. Надеюсь, я могу Вас так назвать. Всем большое спасибо. Удачи!

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

С уважением...

Всех поблагодарил! Всем спасибо!

Отправлено: 09:39, 23-11-2020 | #8