批量更新Excel文件连接字符串

时间:2012-07-31 01:47:00

标签: sql string excel connection

我们最近更改了我们的SQL数据库服务器,我想知道是否会有更新所有Excel文件连接字符串的脚本或更简单的方法?

如果他们使用连接文件会更容易,但遗憾的是他们都是手动设置的,我们有大约600份报告......

非常感谢任何帮助。

由于

尼克

3 个答案:

答案 0 :(得分:2)

是的,你可以......你在c#或vb.net中创建一个程序,循环遍历所有600个文档并打开文档并使用

    oModule = oBook.VBProject.VBComponents.Add(VBIDE.vbext_ComponentType.vbext_ct_StdModule)
    oModule.CodeModule.AddFromString(sCode)

并且根据您在sCode变量中的设置,您有一个循环通过Excel.Connections或

的宏
    For Each wks In ActiveWorkbook.Worksheets
      For Each qt In wks.QueryTables
        With qt
          .Connection ="myconnstring" 
        End With
      Next qt
    Next wks

答案 1 :(得分:0)

我想做同样的事情,来自here的这个名为XLODCTool的工具。

文件链接here

Allos你要批量更改连接字符串中的值,例如

DSNSERVERASERVERB

答案 2 :(得分:0)

基于Archlight解决方案,宏如下:

Sub UpdateConnectionsString_Click()
   For Each wks In ActiveWorkbook.Worksheets
      For Each qt In wks.QueryTables
          With qt
           'Debug.Print .Connection
           .Connection = Replace(.Connection, "bla.com", "localhost")
          End With
      Next qt
    Next wks
End Sub