Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 用于提取文件格式的Microsoft office(Word Excel PowerPoint)API_Vba_Excel_Ms Word_Ms Office_Powerpoint 2013 - Fatal编程技术网

Vba 用于提取文件格式的Microsoft office(Word Excel PowerPoint)API

Vba 用于提取文件格式的Microsoft office(Word Excel PowerPoint)API,vba,excel,ms-word,ms-office,powerpoint-2013,Vba,Excel,Ms Word,Ms Office,Powerpoint 2013,我正在寻找一种工具或代码(任何语言)或一种方法来提取文档格式(仅格式),并将其与另一种进行比较。我有很多word文件,我需要将它们的格式与一个文档(原件)进行比较。Excel和PowerPoint也需要这样做 以下是我的搜索摘要: 我从微软内部可用的工具开始。我尝试了样式检查器,这很好。但是,我需要手动检查文本。另一个工具是显示格式,它显示文档格式列表。同样,这很好,但我需要手动将列表与原始列表进行比较。最后,我尝试了word 2013(和以前的版本)中存在的compare函数。即使它是一个很好

我正在寻找一种工具或代码(任何语言)或一种方法来提取文档格式(仅格式),并将其与另一种进行比较。我有很多word文件,我需要将它们的格式与一个文档(原件)进行比较。Excel和PowerPoint也需要这样做

以下是我的搜索摘要:

我从微软内部可用的工具开始。我尝试了
样式检查器
,这很好。但是,我需要手动检查文本。另一个工具是
显示格式
,它显示文档格式列表。同样,这很好,但我需要手动将列表与原始列表进行比较。最后,我尝试了word 2013(和以前的版本)中存在的
compare
函数。即使它是一个很好的函数,它也只显示了差异。其思想是从两个文档中提取格式(例如在“显示格式”中),并对它们进行比较,生成简单的两列格式比较。或制作报告

could be :     word      original     document1 
                hi        bold         italic
                it's      size=10      size=20
我在网上搜索了一段代码,这段代码简化了格式提取的过程,除了一些在线比较工具外,我什么也找不到

在我看来,解决这个问题的方法是处理办公室的API。或者有一种方法可以编写VBA代码来完成这项工作

我想知道是否有一种方法可以达到显示格式功能,并在自定义VBA中使用它


任何建议

一,。这是一个很难回答的问题,而且几乎太过宽泛,基于观点,所以。。。此外,没有一个单一的解决方案可以覆盖所有三个应用程序,尤其是Excel,它处理格式的方式非常不同。FWIW使用Word对象模型所能做的最好的事情是逐字循环文档,并评估每个单独的格式化属性。这将是非常缓慢的。评估officeopenxml无疑会更有效(所有应用程序)。Word(在某种程度上可能是PowerPoint)会遇到的问题是“运行”(连续文本)会被“不可见”的东西(如拼写和语言检查标记)打破。但总的来说,如果您想自己编写代码,我认为OOXML将是您追求的途径。