批量更新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中的值,例如
DSN
从SERVERA
到SERVERB
基于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