如何在当前Excel工作簿上运行MS Query(Ace Oledb)而无需在连接字符串中指定外部数据源?即数据源文件路径
以下是我的完整连接字符串:
Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data
Source=C:\myfile.xlsm;Mode=ReadWrite;Extended Properties="Excel 12.0
Xml;HDR=YES";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";
Jet OLEDB:Engine Type=35;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
我想删除此引用Data Source=C:\myfile.xlsm
,使连接字符串假定它应始终引用当前的Excel文件。
我想要的是能够在我的Excel文件中设置MS Query,可以通过电子邮件与其他用户共享。目前我需要以编程方式(VBA)替换连接字符串中的数据源,这不是一个优雅的解决方案。我想避免任何使用vba的需要。
答案 0 :(得分:-1)
嗯,您可以将Data Source=C:\myfile.xlsm
放入单元格引用中并将其作为参数传递吗?
STRING“& Worksheet(”Sheet1“)。范围(”A1“)。价值&”STRING