HI; 文件打开时,我无法将CSV文件连接到SpreadSheet。目前有一个不断更新的csv日志文件。我能够通过从外部源正常导入每小时刷新一次Excel SpreadSheet。但是,它是一个大文件,因此我需要使用EXCEL SQL生成报告。它不允许我在文件打开时连接到该文件。它说MS Jet数据库引擎无法打开文件'未知'。它已由其他用户专门打开,或者我需要获得查看其数据的权限。如果授予权限是他的问题,我在哪里授予自己许可。在标准的Impor上,我在打开时读取文件没有问题,但是否则,收到此消息并且无法处理。任何帮助,将不胜感激。如果我关闭更新程序,我可以运行查询,但如果更新正在运行则不能。 使用MSO 2007 W7 x64
答案 0 :(得分:0)
它不允许我在文件打开时连接到该文件。
这是对的,它不会 - 没有办法改变这一点。
您必须找到解决问题的另一种方法。
文件有多大?您可以将副本复制到临时文件名,然后将Excel连接到该文件名。
听起来您正在访问日志文件。 LogParser 可以读取CSV。在任何情况下,LogParser都具有出色的类似SQL的语法,并且可以比ODBC更快速,更可靠地读取CSV文件。它也可以从Excel VBA(或脚本)编程。也许你可以使用LogParser提取感兴趣的值,然后将它们加载到Excel表中。
我怀疑您最好的解决方案是使用Excel VBA中的LogParser MSUtil.LogQuery
对象,将感兴趣的值提取到电子表格中。由于我不知道你在做什么,这只是一个猜测!
我不能足够推荐LogParser - 它是一个很棒的工具,可以读取几乎所有标准类型的日志文件,CSV,TSV,W3C,以及纯文本文件和Windows NT事件日志: