|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
一个excel2007文件,第一张表放原始数据,其中包括时间、型号、长度、宽度等字段,第二张表是一张关于“面积”的透视表。
通过连接外部数据的方式,输入sql语句,可以引用第一张表的数据生成所需时间段内,按型号汇总,计算面积的透视表。这种方法,文件体积小,运算速度快,版面简洁。
它的问题是,必须放在固定的文件夹下,一旦该文件移动到别的文件夹下,当第一张表的数据发生变化后,第二张表中却无法更新透视表,因为在原文件夹下已经找不到该文件了。要想重新生成透视表,只有把原先的操作全部重新来一遍,自己操作嫌麻烦,别人(尤其是领导)可能根本就不会。
这问题的根源就是 外部连接 中是绝对引用,它指向类似c:\1.xlsx这样的固定地址固定文件名。
大家知道excel2007文件是zip压缩文件,解压缩后是若干xml文件。其中包括外部链接的xml文件,文件中有对c:\1.xlsx这样地址的引用。
如果能在xml文件中把对外部连接的绝对引用改为相对引用,就是引用“当前文件夹”下文件名也许就能解决这个问题。
现在的关键是,xml语言中如何表示是对当前文件夹下的1.xlsx的引用? |
|