批量更新Excel文件连接string

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

如果他们使用连接文件,它会变得更容易,但不幸的是,他们都是手动设置,我们有大约600个报告…

任何帮助深表感谢。

谢谢

缺口

是的,你可以…你在c#或vb.net上制作一个程序,通过你所有的600个文件循环,打开文件,并使用

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

并根据你在sCodevariables中的设置,你有一个macros,通过Excel.Connections或

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

我想做同样的事情,并从这里开始讨论这个名为XLODCTool工具。

文件链接在这里 。

你可以批量更改连接string中的值,例如

DSNSERVERASERVERB

基于Archlight解决scheme,macros是以下内容:

 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