Я написал макрос, который обновляет файл ежедневно.У меня есть файл .exe, который я сделал в Visual Basic, который откроет Excel и запустит макрос.Я использую планировщик задач для запуска .exe ежедневно.Вот код .vbs:
Option Explicit On
Imports Excel = Microsoft.Office.Interop.Excel
Imports Microsoft.Office
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
On Error GoTo exitTrying
Dim exApp As New Excel.Application
Dim wb As Excel.Workbook
wb = exApp.Workbooks.Open("File_location")
exApp.Visible = True
exApp.Run("Macro")
wb.Close(False)
exApp.Quit()
exitTrying:
End
End Sub
End Class
Вот макрос:
Sub Macro()
' Macro
Application.Run "CopyData"
Application.Run "PivotRefresh"
Application.CutCopyMode = False
ActiveWorkbook.Save
End Sub
Каждый раз, когда я запускаю свой макрос из листа Excel, он работает отлично.Однако он не будет работать в назначенное время в планировщике задач.Когда я запускаю файл .exe, я получаю следующую ошибку: «Это отменит ожидающее обновление данных. Продолжить?»Если я продолжу макрос не запускается.Это заставляет меня думать, что есть проблема с файлом .exe.
Макрос копирует данные в таблицу и обновляет сводные таблицы.Когда макрос запускается до появления ошибки обновления, и я нажимаю «ОК», возникает ошибка отладки.Ошибка отладки отображается в части обновления макроса.Тем не менее, когда я смотрю в файл Excel, эти данные не скопированы.Ячейки подсвечиваются, куда должны идти данные, но данных нет.
Я попытался включить все макросы в настройках макроса центра управления безопасностью.
Я попытался снять флажок, чтобы включить фоновое обновление в свойствах подключения к данным.Если не включить проверку фонового обновления, файл .exe не откроет файл Excel.
Как правильно запустить файл .exe?