将.docx内容导入到MS Access [英] Import .docx contents into MS Access

查看:14
本文介绍了将.docx内容导入到MS Access的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开始写一个docx文档来做我的一个项目。 最近,我意识到,如果数据在数据库中,管理起来会更容易。 因此,我希望自动将数据导入MS Access,以避免手动复制和粘贴数据。

有没有办法做这件事?我只知道通过Access打开Word应用程序的方式。我还知道docx有一个XML结构,所以我想如果我可以打开这个结构,用VBA做一个解析器就会很容易

VBA

有两种基本方法可以从Word文档中提取信息并将其放入Access数据库:使用在Word或Access中运行的推荐答案代码自动创建Word对象模型,或者提取组成Word文档的WordOpenXML。您表示倾向于第二个选项。

同样,这里有许多可用的方法:

  • 在Word或Access中使用VBA提取在Word应用程序用户界面中打开的文档的WordOpenXML。
  • 使用Access中的VBA和非VBA工具"打开"Zip文件并提取XML。
  • 使用.NET框架中提供的工具提取ZIP文件的内容,并使用OLE DB连接将其写入Access。

我理解您的目标是能够在以后重新创建文档以进行打印,因此您希望保留所有格式。此外,您还希望能够从Access中读取内容。

我认为这至少需要Access表中的四个字段:

  1. ID
  2. 标题
  3. 歌曲文本
  4. 重新创建文档的完整WordOpenXML

您在讨论和问题描述中没有提到(4),但如果您希望存储格式并且希望能够阅读内容,我认为这是必要的。虽然WordOpenXML是"可读的",但其中有很多标记,这让阅读不舒服

在所有条件相同的情况下,我选择VBA处理打开的Word文档,或者使用.NET方法,使用Open XML SDK(free download.NET库,您可以在Visual Studio中引用并随解决方案分发)。

需要记住的一件重要事情是将单词Open XML存储在数据库中。除非Access中有什么变化,否则你不能存储ZIP文件--你需要一种"可流传输"的格式。这将是OOXML OPC平面文件格式。

当您使用VBA从文档中读取WordOpenXML时,这就是您所得到的,这就是为什么我会选择这个选项。Open XML SDK没有该选项,但Eric White's blog提供了用于执行此操作的代码。

当您稍后想要重新创建并打印文档时,将WordOpenXML流传输到一个扩展名为.xml的文件就足够了。或者您可以将其转换回docx压缩文件(相同的博客)。

这篇关于将.docx内容导入到MS Access的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆