每当我尝试执行以下代码时,都会收到以下消息 .
Sub Refresh_Pivot()
Dim AWB As Workbook
Dim pvtTable As Object
Dim appAccess As Object
'Save workbook
Set AWB = ActiveWorkbook
AWB.Save
'Open Access Application
Set appAccess = CreateObject("Access.Application")
appAccess.OpenCurrentDatabase "S:\AMA\MPF\MPF Projects\MPF Loss Emergence\MPFV4.accdb"
appAccess.Visible = True
'Set Message bar in excel t o notify user of update process
oldStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
Application.StatusBar = "Retrieving information, please be patient...."
'Execute Access Macro containing lineup of queries and scrubs
appAccess.DoCmd.RunMacro "0_Retrieve_Scrub" '<-- As it appears in the Macro Group in the Access Interface.
'Close Access
appAccess.DoCmd.Quit
'Return message bar to original status
Application.StatusBar = False
Application.DisplayStatusBar = oldStatusBar
Set pvtTable = Worksheets("1. Roll Rate Pivots").Range("C13").PivotTable
pvtTable.RefreshTable
Columns("B:B").EntireColumn.AutoFit
Columns("C:j").Select
Selection.ColumnWidth = 13
'Notify user process has completed
MsgBox ("Update complete")
End Sub
它基本上打开Access dbase,运行Access宏并关闭Access . 我有一个ODBC连接到由该宏驱动此代码的同一个excel文件中的宏创建的表 . 我已经在excel 2007中成功运行了 . 我们最近升级了Office 2013,我们开始收到此消息 . 当我们调试时,它会突出显示这行代码 . 起初我虽然它与该版本的对象库有关,但是检查了所有最新版本 . 有没有人遇到类似的问题 . 任何帮助将不胜感激 .
appAccess.DoCmd.RunMacro "0_Retrieve_Scrub"
1 回答
您是100%确定您引用的宏名称是否存在于正在打开的数据库中,并且宏名称中的前导0不会导致任何问题?