我写了一个每天更新文件的宏。我有一个用Visual Basic制作的.exe文件,它将打开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文件存在问题。
宏将数据复制到表中并刷新数据透视表。当宏运行直到刷新错误出现并且我按OK时,调试错误就会发生。调试错误显示在宏的刷新部分。但是,当我查看excel文件时,数据尚未复制。单元格将突出显示数据应到达的位置,但没有数据。
我尝试启用信任中心宏设置中的所有宏。
我尝试取消选中数据连接属性中的启用后台刷新。如果未选中启用后台刷新,则.exe将不会打开excel文件。
如何正确运行.exe文件?