Excel Macro не запускается из исполняемого файла - PullRequest
0 голосов
/ 28 сентября 2018

Я написал макрос, который обновляет файл ежедневно.У меня есть файл .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?

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