【发布时间】:2018-05-15 16:25:16
【问题描述】:
对于那些不知道的人来说,将 SQL 功能添加到 VBA 宏是相当容易的。以下文章提供代码:http://analystcave.com/excel-using-sql-in-vba-on-excel-data/
我对此进行了一些修改(很高兴提供代码),以便它可以很好地输出并将其放入我可以调用的 Sub 中。这使我不必执行多种排序、复制粘贴等操作来从大型工作表中查找特定数据。
但是,当使用来自在线资源的工作簿时,请注意一个问题,例如邮箱:
.ConnectionString = "Data Source=" & ThisWorkbook.Path & "\" & ThisWorkbook.Name & ";"
当文件保存到驱动器时,这可以正常工作,但从在线站点,Excel 无法连接。当文件未保存在任何地方时,有关修改连接字符串的任何建议?
【问题讨论】:
-
在这种情况下您能提供一个示例 ConnectionString 吗?您可能需要对其进行操作才能使其正常工作。
-
如果工作簿未保存到磁盘,则不能使用此方法。最好的办法是将临时副本保存到磁盘并进行查询。
-
@wdosanjos 当前连接字符串使用 ThisWorkbook.Path 和 .Name,但是如果文件没有保存因此没有路径怎么办?
-
Microsoft.ACE.OLEDB.12.0 需要一个文件,因此在您保存文件之前它不会工作。
-
@wdosanjos 好的,所以没有办法指向内存中的文件或类似的东西?
标签: sql-server vba excel