VBA解析复合文档00

2020-08-04 16:24:05 浏览数 (1)

1、什么是复合文档?

可能这个名字没有听说过,但是只要使用过Windows电脑的,其实都接触过这种结构的文件,只是没有注意到而已。

  • 最可能接触到的就是一个名称叫做Thumbs.db的文件,只要操作电脑,打开了图片,系统就会在图片的同一个文件夹下生成这样一个文件,但默认是隐藏的,所以一般也看不到!
  • 2003版本以前的Office文件,像Excel(后缀.xls),Word(后缀.doc)的文件,都是使用复合文档结构来存储的。
  • 2007版本以上的Office文件,如果设置了打开密码,仍然是使用复合文档结构来存储的。
  • 2007版本以上的Office文件,如果编写了VBA代码,在文件的压缩包里,会有个vbaProject.bin文件,也是使用复合文档结构来存储的。

详细请看微软官方文档: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-cfb/53989ce4-7b05-4f8d-829b-d08d6148375b

2、解析复合文档有什么用

01

深入了解Excel的文件结构

解析复合文档,能够更加深入理解Excel的文件结构,虽然2007版本以上的Excel已经 换成了xml标记语言存储,但是VBA代码相关的vbaProject.bin文件还是使用了复合文档结构。

02

直接读取Excel VBA数据

如果想不打开Excel文件来读取Excel的数据,一般使用ADO技术就能做到。

但是如果想要直接获取VBA代码,就只能通过解析文件结构获取,通过解析复合文档,解析出模块的数据流,再进一步进行解析就可以。

03

实现一些特殊功能

  • VBA工程密码破解
  • VBA模块隐藏

主要参考文章:

http://club.excelhome.net/thread-227502-1-1.html

0 人点赞