【问题标题】:Create Word 2010 Document Programmatically以编程方式创建 Word 2010 文档
【发布时间】:2010-10-29 14:50:24
【问题描述】:

每周我都会制作一份 word 文档,其中包含来自我们网络上各种来源的一些副本、表格和图表。

这可能需要一些时间,有时我会犯错误或忘记应该输入的内容。我想尽可能地自动化这个过程。

所以基本上我想制作一个 Word 模板或控制台应用程序,当我打开/运行它时它会关闭并收集所有这些内容并将其链接到文档的各个部分。

假设我必须插入:

  • 其他 Word 文档的一些副本
  • PNG(饼图)
  • 从 CSV 文件创建表格
  • 有一个标准的页眉和页脚页码

我通常会对文档中的副本进行一些更改,以突出本周的亮点。

然后我将其签入到 SharePoint 中,网络用户可以在其中打开并查看它。

我认为要做的事情是破解 VS2010 并制作一个 Word 模板项目。我以前从未这样做过,我想知道有什么陷阱,或者它是否是解决我问题的合适方法。

我的另一个选择是一些 power-shell,但我也不是那里的专家。

我会很乐意编写控制台应用程序,所以我最终可能会这样做。

帮助/建议表示赞赏。

【问题讨论】:

    标签: c# ms-word automation sharepoint-2010


    【解决方案1】:

    我将通过分解各个步骤来解决此问题,就像您坐在空白 Word 文档前执行这些步骤一样。然后使用对象模型将其自动化。有一点学习曲线,但一旦你克服了这一点,你就会沉迷于自动化 Office。 Office 是一个相当强大的平台。您可以通过用户界面实现的大部分功能都可以通过编程方式完成。我用 Excel 做了很多自动化操作。代码相当直观...它的内容类似于 worksheet.Range["A1"] = "abcd" (设置单元格 A1 = "abcd")。

    这里有一些提示:

    http://support.microsoft.com/kb/316383

    http://msdn.microsoft.com/en-us/library/ee861527.aspx

    如果您浏览第一个链接中的教程,您将了解其中的要点。很棒的是,您可以使用调试器单步执行您的代码行。随着每一行的执行,您可以在 Word 文档中看到结果。我从来没有使用过Word模板项目,所以我不能说那里的利弊。走对象模型路线,您只需要阐明您想要发生的事情,将其分解为执行它们的各个步骤,然后对其进行编码。如果你被卡住了,很可能其他人已经在博客上/发布了关于如何让事情发生的信息。谷歌会很快找到解决方案。祝你好运!

    【讨论】:

      【解决方案2】:

      你有很多选择:

      • 自动词法
      • 将其作为宏 (dotm) 执行
      • 使用 Open XML SDK 创建您的文档
      • VSTO

      您可能最好先使用宏来执行此操作,尽管这是旧的 VB6。您在那里快速学习的技术可以很好地转化为其他方法。 Open XML SDK 的优点是不需要 Word 来创建文档。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-28
        • 1970-01-01
        • 2018-12-11
        • 1970-01-01
        相关资源
        最近更新 更多