Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 删除SQL连接时发生VBA运行时错误5_Sql Server_Vba - Fatal编程技术网

Sql server 删除SQL连接时发生VBA运行时错误5

Sql server 删除SQL连接时发生VBA运行时错误5,sql-server,vba,Sql Server,Vba,我正在编写一个宏,它将基于连接到SQL Server的文件创建一个静态文件。它应该刷新Excel文件,删除与SQL server的所有连接,将其保存为一个新文件,并在文件末尾附加日期,然后关闭现有文件 我遇到的问题是,当我清除连接时,会出现运行时错误5“无效调用或参数”。奇怪的是,它在昨天晚上和今天早上都运行得很好,然后这个错误似乎不知从哪里冒出来了。我不认为我对文件做了任何更改会导致这种情况发生,所以我很困惑 调试器在此处突出显示循环清除连接: Do While ActiveWorkbook.

我正在编写一个宏,它将基于连接到SQL Server的文件创建一个静态文件。它应该刷新Excel文件,删除与SQL server的所有连接,将其保存为一个新文件,并在文件末尾附加日期,然后关闭现有文件

我遇到的问题是,当我清除连接时,会出现运行时错误5“无效调用或参数”。奇怪的是,它在昨天晚上和今天早上都运行得很好,然后这个错误似乎不知从哪里冒出来了。我不认为我对文件做了任何更改会导致这种情况发生,所以我很困惑

调试器在此处突出显示循环清除连接:

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