刷新数据并退出并保存宏Excel

时间:2014-11-11 09:06:20

标签: excel vba oledb auto-renewing

我需要刷新ole db source中的数据,同时打开excel,然后保存并退出。 这是我的宏代码:

Sub auto_open()
    Call DataRefresh
End Sub

Sub DataRefresh()
    TimeToRun = Now
    Application.OnTime TimeToRun, "Refresh"
End Sub

Sub Refresh()
    ActiveWorkbook.Connections("Shas").Refresh
End Sub

Sub auto_close()
    Application.OnTime TimeToRun, "Refresh", , True
    Application.Quit
    ThisWoorkbook.Close SaveChanges:=True
End Sub

打开后更新可以,但它不会退出。我做错了什么?

1 个答案:

答案 0 :(得分:0)

你实际上并没有在任何时候告诉工作簿......

此外,在工作簿完成后,Auto_Open()例程在技术上被触发,因此您不需要调用单独的例程:

另外 - 您退出应用程序后无法关闭工作簿...

试试这个:

Sub auto_open() ActiveWorkbook.Connections("Shas").Refresh DoEvents ThisWoorkbook.Close SaveChanges:=True End Sub