因为公式是嵌入在word中的OLE对象,word只能在外部把它作为一个整体进行操作(比如插入、删除、修改大小、位置、复制、剪切等),但是不能进入到它的内部读取或修改其中的一部分,真正可以编辑修改公式的程序是双击它时激活的公式编辑器程序,但公式编辑器是独立于word和VBA之外的,所以用VBA很难通过常规方法获取其中的内容。 如果是单纯比较两个公式内容是否一致,我倒是有办法,就是先用VBA选中其中一个公式,使用复制命令,然后从剪贴板中获取其中一种格式的二进制数据放到一个byte数组中,然后对另一个公式进行同样操作,最后再按字节对比就行了 如果是要查找其中的字符串,先用VBA选中它并复制,然后从剪贴板中获取CF_ENHMETAFILE格式的数据,然后用EnumEnhMetaFile API函数分析其中类型为EMR_EXTTEXTOUTA或EXTTEXTOUTW的记录,应该也可以得到。 |
联系客服