Word中的单一来源文档与VBA

时间:2010-02-06 06:53:11

标签: ms-word word-vba

有没有办法通过VBA或其他技术在Word中执行“单一来源文档”。我的公司创建培训并希望拥有一个“主文档”,其中包含培训中的所有内容,然后从中创建交付模式和材料。例如,单个主课程可以成为输出查询

  • 教练练习册,学生 工作簿和PowerPoint幻灯片(for 教练Led的例子 训练2天和4分开 主题)
  • 4个单独的PowerPoints 1小时 会话(例如,用于远程 通过WebEx交付)。这将是一个 简化版的课堂 当然和简化,即 什么内容,将在其中定义 单个主Word文档。
  • 可以打印的工作辅助工具 以上两者。

因此,在上述所有三种情况下,完全相同的内容可能会出现在1,2或三种交付方式中。例如,在第二个中,可能只存在两个不存在于其他模态中的东西。

我的猜测是,这将在VBA中完成,但我不确定如何开始。

1 个答案:

答案 0 :(得分:3)

single source publishing(SSP)有多种选择,它取决于您拥有的内容以及您在新技术方面可以采取的措施。对于SSP而言,Word并不像其他一些工具那样强大,但近年来它已成为viable solution

  • 仅限VBA

    如果您仅使用VBA,则必须对Word文档进行标记,并创建模式以搜索并构建其他文档。例如,您可以拥有一个名为%%%LESSON%%%的令牌(您可以通过该令牌搜索%%%*%%%以了解您已经上过课程),然后在您可能拥有的文本中%%PPP/Class=True,PPT/Online=True,WRD/Student=False%% {{1}} 1}}也可以搜索并抓取您正在寻找的部分。因此,如果您使用上述令牌创建学生手册,则不会显示该部分。

    就我个人而言,我不是这种方法的忠实粉丝,因为它很快就变得非常不合适。但它适用于任何Word和PowerPoint版本,不需要学习很多新技能或其他组件。

  • XSL转换 (Word 2003)

    如果您的主要客户端是Word 2003,则可以使用XSL Transforms。这里有很多文章,如:Applying an XSLT Transform。这是非常酷的技术,从2003版本开始制作Word,在SSP领域有点竞争对手。看一下这篇文章:Creating and Applying an XML Resume Template in Microsoft Office Word 2003

    虽然这种方法肯定更强大,但如果您不熟悉XML / XSL / XPath,则会出现陡峭的学习曲线。其次,生成PowerPoint幻灯片并不容易 - (您可能需要转换为PowerPoint 2003 ML)。

  • 内容控制&amp; Open XML (Word和PowerPoint 2007 <)>

    通过Content ControlsOpen XML的组合,您可以根据SSP定义获得您正在寻找的内容。虽然有一个巨大的学习曲线,你将不得不采用一些外部工具(如Visual Studio,可能是Open XML SDK等)来获得你想要的东西。

    就个人而言,这可能是我采取的路线,但同样,从零到好的方式都很陡峭。