gpt4 book ai didi

Excel VBA 运行时错误 1004 - ThisWorkbook.Connections

转载 作者:行者123 更新时间:2023-12-04 07:52:07 25 4
gpt4 key购买 nike

我有一个电子表格,其中包含对“CHECKMATE”的 ODBC 连接名称的多个查询。在 VBA“ThisWorkbook”对象中,我有以下 VBA:

Private Sub Workbook_Open()
Dim TheConnectionName As String
For Each objWBConnect In ThisWorkbook.Connections
TheConnectionName = objWBConnect.Name
ThisWorkbook.Connections.Item(TheConnectionName).ODBCConnection.Connection = "ODBC;DSN=CHECKMATE"
Next objWBConnect
End Sub
这会强制工作表中的每个 ODBC 连接始终使用 CHECKMATE 的 ODBC 连接名称,因为此电子表格分发给多个用户,其中 ODBC 连接中的 IP 地址可能不同,但名称 CHECKMATE 在每个连接中始终一致。
在这个特定的电子表格中,我使用 Power Query 对两组数据进行分组,删除重复数据并将数据返回到其中一个工作表,我在其中通过 VLOOKUP 和 GETPIVOTDATA 公式汇总信息。这就是导致运行时错误 1004 的原因。我只需要一些帮助来调整此代码以解决 Power Query。
提前感谢您对此的任何帮助!

最佳答案

未经测试,但我猜你需要检查 Type 的连接。
此外,使用 .Name的连接是不必要的,即

TheConnectionName = objWBConnect.Name
ThisWorkbook.Connections.Item(TheConnectionName)
没有必要,因为您可以引用 objWbConnect .
您的代码的简化版本:
Private Sub Workbook_Open()
Dim conn As WorkbookConnection
For Each conn in ThisWorkbook.Connections
If conn.Type = xlConnectionTypeODBC Then
conn.ODBCConnection.Connection = "ODBC;DSN=CHECKMATE"
End If
Next
End Sub

关于Excel VBA 运行时错误 1004 - ThisWorkbook.Connections,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66907968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com