以编程方式创建Word 2010文档

时间:2010-10-28 22:55:22

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

每周我都会在我们的网络上制作一份包含来自各种来源的副本,表格和图表的文字文件。

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

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

假设我必须插入:

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

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

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

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

我的另一个选择是电力外壳,但我也不是那里的专家。

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

帮助/建议表示赞赏。

2 个答案:

答案 0 :(得分:4)

如果你坐在空白的Word文档前面,我会通过分解各个步骤来解决这个问题。然后使用对象模型自动化它。有一点学习曲线,但是一旦你过去,你就会沉迷于Office的自动化。 Office是一个非常强大的平台。您可以通过用户界面实现的大部分功能都可以通过编程方式完成。我用Excel做了很多自动化。代码非常直观......像workheet.Range [“A1”] =“abcd”(设置单元格A1 =“abcd”)。

这里有一些指示:

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

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

如果您在第一个链接中查看教程,您将获得它的要点。最棒的是,您可以使用调试器逐步执行代码行。每行执行时,您都可以在Word文档中看到结果。我从来没有使用过Word模板项目,所以我不能说那里的优点/缺点。走对象模型路线,你只需要明确表达你想要发生的事情,将其分解为各个步骤,然后再进行编码。如果你遇到困难,很可能有人在博客上发布了关于如何让事情发生的事情。 Google会很快找到解决方案。祝你好运!

答案 1 :(得分:0)

您有很多选择:

  • 自动化Word
  • 以宏(dotm)
  • 来做
  • 使用Open XML SDK
  • 创建文档
  • VSTO

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