Страницы: 1
RSS
Ошибка "Run-time error 1004" при запуске книги из Планировщика заданий, Помогите пожалуйста
 

В папку  на сетевом диске каждое утро и каждый вечер падает выписка  «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
Можно ли победить?
Заранее спасибо за ответы.
Изменено: kashalot75 - 11.01.2020 09:32:36 (Не соображу что-то как оформить код - отображается в одну строку)
 
1. Планировщик запускает задание из под какого аккаунта? Нужно убедится, что доступ к сетевому ресурсу есть.
2. Добавьте в настройках Excel путь к вашему каталогу в Trusted Location (не знаю как на русский переведено) в центре доверия второй пункт.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
Trusted Location
Добавил обе папки и место расположения файла источника и текущего файла
Цитата
БМВ написал:
Планировщик запускает задание из под какого аккаунта? Нужно убедится, что доступ к сетевому ресурсу есть
Аккаунт один и тот же, а вот как убедиться в доступе не соображу.

Пока все так же.
 
Цитата
kashalot75 написал:
Аккаунт один и тот же
то есть тот под которым работаете?
Цитата
kashalot75 написал:
от как убедиться в доступе не соображу
создайте аналогичную задачу, но с простой операцией копирования любого файла на локальный ресурс, хоть через COPY
может потребоваться %COMSPEC% /C COPY <Source File full name> c:\temp например. Запустите в ручную и если скопирует, то значит доступ есть.
По вопросам из тем форума, личку не читаю.
 
Цитата
kashalot75 написал:
то есть тот под которым работаете?
Да, под тем же аккаунтом
Цитата
БМВ написал:
создайте аналогичную задачу, но с простой операцией копирования
к сожалению не справился с этой задачей, чуть в стороне от меня эти навыки.
Но проделал следующее:
Скопировал из сетевой папки  в локальную папку-источник, перенаправил в нее все запросы PQ, результат тот же.
Запросы работают, макрос при открытии файла двойным щелчком отрабатывает до конца, а из планировщика лезет "Run-time eror 1004".
 
Цитата
kashalot75 написал:
результат тот же
тогда ждите, спецов по PQ. Если файл просто надо открыть и не записывать, то тогда мои предположения закон,  СТОП, вы по прежнему используете свой код? Если да то скорее всего книга еще не успела записаться, а к ней уже запрос идет. Я то корневую причину искал, типа зачем открывать файл. лишний раз.
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх