В папку на сетевом диске каждое утро и каждый вечер падает выписка «xls»
Подготовил файл в Power Query, который запускаясь дважды в сутки выдает последнюю выписку в удобном виде. Все ок, но если файл выписки на сетевом диске еще никто ни разу не открывал – PQ выдавал ошибку «Таблица не имеет предполагаемый формат» - надо было просто пойти в сетевую папку, открыть файл, закрыть его и обновить запрос…
Попытки победить PQ бросил - решил воткнуть макрос…. Чтобы при открытии книги он обновил таблицу «Список» взял из нее ссылку на последний файл в сетевой папке, открыл файл по этой ссылке, тут же его закрыл и «Обновил все» в активной книге.
Сделал вот так:
Код |
---|
Private Sub Workbook_Open()
Sheets("Список").ListObjects("Список").QueryTable.Refresh BackgroundQuery:=False 'Обновляем запрос "Список" - получаем ссылку на последний файл
FilePath = Sheets("Список").Cells(2, 4) 'Забираем путь к файлу из ячейки D2 на листе "Список"
Set Vp = Workbooks.Open(FilePath) 'Присваиваем файлу имя Vp. Открытие файла
Vp.Close SaveChanges:=False 'Закрываем файл без сохранения
ActiveWorkbook.RefreshAll 'Обновляем запросы
7. End Sub
|
Все работает и по F8 и при запуске книги… а вот при запуске по расписанию из планировщика задач windows лезет ошибка
Run-time error '1004'
Сбой инициализации источника данных
В строке
Код |
---|
Sheets("Список").ListObjects("Список").QueryTable.Refresh BackgroundQuery:=False |
И, если ее закомментировать, в строке
Код |
---|
ActiveWorkbook.RefreshAll
|
Можно ли победить?
Заранее спасибо за ответы.