Excel外部数据连接在其他用户上崩溃

时间:2015-07-23 13:17:17

标签: excel excel-vba vbscript connection-string excel-external-data vba

我有一个tool.xlsx文件,它使用与Access DB的外部数据连接(两者都在网络驱动器上,对具有适当访问权限的用户可用)。我有一个vbscript(下面的代码)刷新该工作簿中的所有连接。当我运行这个脚本时,一切都像魅力一样,但是当一个同事运行它时,它不会抛出任何错误,但不会刷新所有连接。有什么想法吗?

Dim XLApp
Dim XLWkb
Set XLApp = CreateObject("Excel.Application")
xlapp.visible = false
xlapp.workbooks.open "\\networkpath\tool.xlsx"
xlapp.displayalerts = false
set wr = xlapp.workbooks.Open("\\networkpath\tool.xlsx")
wr.refreshall
xlapp.visible = false
wr.Save
wr.Close

这是来自该tool.xlsx工作簿的连接字符串:

Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=\\networkpath\db.accdb;Mode=Share Deny Write;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False;Jet OLEDB:Limited DB Caching=False;Jet OLEDB:Bypass ChoiceField Validation=False

这是一次刷新每个连接的不同方法:

on error resume next
Dim XLApp
Dim XLWkb
Set XLApp = CreateObject("Excel.Application")
xlapp.visible = false
xlapp.displayalerts = false
set wr = xlapp.workbooks.open("\\networkpath\tool.xlsx")
    for each Cn in wr.Connections
        Cn.Refresh
    next
wr.refreshall
xlapp.visible = false
wr.Save
wr.Close

0 个答案:

没有答案