【发布时间】:2021-08-13 15:38:10
【问题描述】:
我正在尝试使用可修改的脚本更新电子表格中的现有连接。
基本上,我希望用户能够放入帐户参考列表,按下按钮,Excel 会在这些帐户参考与我们拥有的系统匹配的地方输出 SQL 输出。
我已设法将所有脚本整理到一个单元格中(我的“工作”选项卡上的 F1),这一切都很好,我已经添加了初步连接(并将其称为“CustomerContactDetails”)。
我也启用了 Microsoft ActiveX Data Objects 6.1 Library。
我的 VBA 脚本是:
Sub UpdateScript()
Dim Script As String
SQLScript = Worksheets("Workings").Range("F1").Value
ActiveWorkbook.Connections("CustomerContactDetails").OLEDBConnection.ConnectionString = SQLScript
ActiveWorkbook.Connections("CustomerContactDetails").Refresh
End Sub
我在下面的第四行得到错误 (ActiveWorkbook.Connections("CustomerContactDetails").OLEDBConnection.ConnectionString = SQLScript):
运行时错误“9”; 下标超出范围
请问有谁知道如何解决这个问题?感觉好像我并没有那么远,我也不想做任何太复杂的事情。我似乎无法让它工作!
【问题讨论】:
-
你没有提到哪一行给你错误,但你要么在活动工作簿中没有工作表“Workings”,要么在该工作簿中没有名为“CustomerContactDetails”的连接。
-
我现在已经更新了这个问题,感谢您指出这一点。我确实正确地命名了这些东西,有一个叫做那个的连接和一个叫做那个的表。我已经检查过了,变量是“填充”(不确定正确的术语)作为脚本。