是否可以使连接字符串取决于.xlsx
文件中的单元格值或命名公式(即非启用宏的工作表)?
背景:
每个月我都会创建一个新工作簿并更新外部数据源。通过这种方式,我可以获得每月结果的工作簿,并且可以随时返回查看过去一个月的数据。
现在,由于我在同一数据上使用多个数据透视表,因此我使用数据连接。连接字符串看起来像这样,其中数据源是相关的。
Provider=Microsoft.ACE.OLEDB.12.0;
User ID=Admin;
Data Source=C:\pathtofile\myworkbook1705.xlsx;
Mode=Share Deny Write;
Extended Properties="HDR=NO;
";
Jet OLEDB // etc. etc //
我通常手动更新数据源路径,但由于我想将项目扩展到其他多个任务,因此手动更新过程变得令人厌烦(在文件路径中将1705
更改为1706
来自单元格值。)
有几个原因阻止我在VBA中制作解决方案:
.xlsx
,可能无法识别.xlm
。我搜索过没有成功。遗憾的是,不回答问题的相关链接如下所示。
答案 0 :(得分:1)
长话短说 - 不。这种方式是一个巨大的安全问题。如果你找到了办法,立即通知微软,他们很乐意解决它:)。
任何曾经通过SQL获得一美元资金的人从Excel中的单元格中读取数据肯定会被认为是一种不好的做法。我的意思是,连接字符串可能是您拥有的最敏感的信息。即使您使用VBA,也请确保密码始终由用户在单元格中(或通过表单)写入,然后擦除。代码中不硬编码。
很多人认为微软很糟糕,但他们的产品绝不会留下这样的安全漏洞。