我开始编写docx文档来完成我的项目。 最近,我意识到如果数据在数据库中,那么管理数据会更容易。 因此,我想自动将该数据导入MS Access,以避免手动复制和粘贴数据。
反正有吗?我只是通过Access打开Word应用程序的方法。我也知道docx有一个XML结构,所以我想如果我可以打开那个结构,在VBA中做一个解析器很容易
答案 0 :(得分:0)
有两种基本方法可以从Word文档中获取信息并放入Access数据库:使用在Word或Access中运行的VBA代码自动化Word对象模型或提取构成Word文档的WordOpenXML。你表明你倾向于第二种选择。
在这里,有许多方法可供选择:
我了解您的目标是能够在以后重新创建文档进行打印,因此您希望保留所有格式。此外,您希望能够从Access中读取内容。
我相信这将要求Access表中至少有四个字段:
您在讨论和问题描述中没有提及(4),但如果您想存储格式并且您希望能够阅读内容,我认为这是必要的。虽然WordOpenXML是可读的,但在那里有很多标记,并没有使阅读舒适。
在所有条件相同的情况下,我使用Open XML SDK(可在Visual Studio中引用的free download .NET库)来使用开放Word文档或.NET方法的VBA。用解决方案分发)。
要记住的一件重要事情是将Word Open XML存储在数据库中。除非在Access中发生了某些变化,否则您无法存储ZIP文件 - 您需要一个"可流动的"格式。这将是OOXML OPC平面文件格式。
当您使用VBA从文档中读取WordOpenXML时,这就是您所获得的,这就是为什么这对我来说是一个选择。 Open XML SDK没有该选项,但Eric White's blog提供了代码来执行此操作。
如果您以后想要重新创建并打印文档,则应将WordOpenXML流式传输到扩展名为.xml的文件。或者您可以将其转换回docx zip文件(同一博客)。