相关的VBA新手在这里。我使用Public Sub “RefreshExcel”创建了一个新模块“QCDataRefresh”,用于在后台打开Excel电子表格(位于我的网络驱动器中)并刷新它。这是为了刷新包含在所述电子表格中的许多数据链接。访问VBA:SUB旨在刷新Excel电子表格给出错误
下面是该子代码:
Public Sub RefreshExcel()
Dim appExcel As Object
Set appExcel = CreateObject("Excel.Application")
appExcel.workbooks.Open ("\\renssfile2\shares\Supply Chain Project Management\QCData.xlsx")
appExcel.activeworkbook.refreshall
Set appExcel = Nothing
End Function
运行此给出了一个运行时错误“1004”:“应用程序定义或对象定义的错误调试似乎要突出的代码行” appExcel .activeworkbook.refreshall“。不知道为什么呢?
此外,我也试图在Access中创建一个按钮来从我的仪表板运行这个。为此,我创建了一个新的按钮,并创建了一个新的事件过程为此题为“Command101_Click”。
以下是该事件,它试图在点击按钮来运行我RefreshExcel子代码:
Private Sub Command101_Click()
QCDataRefresh.RefreshExcel
End Sub
当我运行这个事件,我希望它给我从我上面的刷新功能相同的错误。但是,它会打开一个窗口,要求我选择一个宏。我不确定我的错误在哪里,但我相信这一定是一个简单的疏忽。对此也有想法?
谢谢大家!
为什么你的子程序定义为“Private Sub Command101_Click(RefreshExcel)”也许把“RefreshExcel”部分拿出来?另外,一个函数应该返回一些东西。您应该将过程声明为子例程而不是函数,因为它不会返回任何内容.... Public Sub RefreshExcel()。不知道这是否会解决问题。 – OpiesDad 2015-03-13 19:13:36
这很有道理。我继续前进并做出了两处修改(编辑原稿以反映它们)。不幸的是,这两个问题似乎依然存在不过谢谢。 – user333102 2015-03-13 19:28:54
也许没有活动手册。尝试调试打印activeworkbook.name,看看有没有。再次,不确定,但值得一试。 – OpiesDad 2015-03-13 19:36:08