Sql server 删除SQL连接时发生VBA运行时错误5
我正在编写一个宏,它将基于连接到SQL Server的文件创建一个静态文件。它应该刷新Excel文件,删除与SQL server的所有连接,将其保存为一个新文件,并在文件末尾附加日期,然后关闭现有文件 我遇到的问题是,当我清除连接时,会出现运行时错误5“无效调用或参数”。奇怪的是,它在昨天晚上和今天早上都运行得很好,然后这个错误似乎不知从哪里冒出来了。我不认为我对文件做了任何更改会导致这种情况发生,所以我很困惑 调试器在此处突出显示循环清除连接:Sql server 删除SQL连接时发生VBA运行时错误5,sql-server,vba,Sql Server,Vba,我正在编写一个宏,它将基于连接到SQL Server的文件创建一个静态文件。它应该刷新Excel文件,删除与SQL server的所有连接,将其保存为一个新文件,并在文件末尾附加日期,然后关闭现有文件 我遇到的问题是,当我清除连接时,会出现运行时错误5“无效调用或参数”。奇怪的是,它在昨天晚上和今天早上都运行得很好,然后这个错误似乎不知从哪里冒出来了。我不认为我对文件做了任何更改会导致这种情况发生,所以我很困惑 调试器在此处突出显示循环清除连接: Do While ActiveWorkbook.
Do While ActiveWorkbook.Connections.Count > 0
ActiveWorkbook.Connections.Item(ActiveWorkbook.Connections.Count).Delete
Loop
这是我的密码:
Sub CreateTemplate()
Dim FilePath As String
Dim NewName As String
ActiveWorkbook.RefreshAll
Do While ActiveWorkbook.Connections.Count > 0
ActiveWorkbook.Connections.Item(ActiveWorkbook.Connections.Count).Delete
Loop
FilePath = "C:\": NewName = FilePath & "File" & Format(Date, "MM-DD-YYYY") & ".xlsb"
ActiveWorkbook.SaveAs Filename:=NewName, FileFormat _
:=xlExcel12, CreateBackup:=False
MsgBox "Your new template is saved with today's date appended"
ActiveWorkbook.Close False
End Sub
看起来您可能有一个基于数据模型(如PowerPivot)的数据模型或数据透视表。在这种情况下,请尝试使用以下代码:
Dim xConnect As Object
For Each xConnect In ActiveWorkbook.Connections
If xConnect.Name <> "ThisWorkbookDataModel" Then xConnect.Delete
Next xConnect
Dim xConnect作为对象
对于ActiveWorkbook.Connections中的每个xConnect
如果xConnect.Name为“ThisWorkbookDataModel”,则xConnect.Delete
下一个xConnect
您是否正在使用选项库1
?如果没有,您的.Item可能缺少0连接,并且在计数+1连接上失败。是的,当我使用选项base 1进行测试时,我会收到相同的错误。当您收到错误并且处于调试模式时,使用即时窗口,ActiveWorkbook.Connections.Count的值是多少?ActiveWorkbook.Connections.Count是3