在Excelmacros中更新多个SQL连接string

我有一个Excel文档,其中包含几个(50+)embedded式SQL查询,可以刷新并更新计数和查询结果。 我需要更改服务器和数据库,这些查询运行,我希望有一个更简单的方法来做到这一点,而不是手动input的一切。我已经通过其他一些问题在这里搜查,但我无法find与我期待的相匹配。

我的连接string大部分是这样的:

DRIVER=SQL Server;SERVER=ServerName;UID=ThisisMe;Trusted_Connection=Yes;APP=Microsoft Office 2013;WSID=CEPC098JJN 

我还需要添加的是我相信的数据库是这样的:

 Initial Catalog=DatabaseName 

任何有关如何更新所有这些连接string的下一步的指导,将不胜感激。

也许你应该使用一个文本文件来存储由Miguelbuild议的值。 在应用程序中,将值加载到字典中,所以它们将会方便且易于使用。 例如:

 Sub test() Dim d, key Set d = FileLoad("c:\soft\1.txt") For Each key In d.Keys Debug.Print ("key = " & key & " Value = " & d(key)) Next key End Sub Function FileLoad(path As String) As Variant Dim str, arr, dict Open path For Input As #1 Set dict = CreateObject("Scripting.Dictionary") Do Until EOF(1) Line Input #1, str arr = Split(str, ":") dict.Add arr(0), arr(1) Loop Close #1 Set FileLoad = dict End Function 

文本文件如:Initial Catalog:DatabaseName

并在string中replace此值…

使用查找和replace,然后select整个项目。

就像是

 Find: UID=ThisisMe; Replace: UID=ThisisMe;Initial Catalog=DatabaseName;