C#/ VS2010在运行时从模板中生成Word 2007中的新文档

时间:2013-04-25 23:14:09

标签: c# visual-studio-2010 office-2007 word-2007

我正在尝试将以前创建的Word 2007功能区集(8个选项卡,大约150个按钮和10个复选框)从VS2005中完成的VB转换为VS2010中的C#。 我遇到的问题是我无法使用启用了宏的模板设置按钮控件来打开新文档。我有一个确认的每个模板的文件路径,我使用了VB-C#转换器,但由于某种原因,它无法正常工作。 以下是我到目前为止加载模板的方法:

   private void _LoadTemplate(string templateName)
    {
        string templatePath1 = "//Macro - Development";
        string templatePath2 = "//Macro - Development/Templates No Longer Updated";
        if(File.Exists(templatePath1 + templateName))
        {
            Document doc = Application.Documents.Add(Template = templatePath1 + templateName);
        }
        else if (File.Exists(templatePath2 + templateName))
        {
            Document doc = Application.Documents.Add(Template = templatePath2 + templateName);
        }
        else
        {
            MsgBox = "Template does not exist.";
        }

1 个答案:

答案 0 :(得分:1)

有几个主要选择:

  • 使用Office Automation COM库 - 效果很好,但有一些条件:
    • 您需要为运行代码的计算机(如果尚未安装Office)许可Office(或至少Word)
    • 您不能在服务器端,无桌面环境中使用它(例如,在ASP.NET应用程序中)。这不是受支持的方案。
  • 使用像Aspose这样的第三方库。
    • 抓住它的价格非常昂贵。
  • 使用Saaspose等SaaS服务
    • 价格合理:每月15美元,但不如Aspose这样的本地图书馆灵活,并且需要可靠的互联网连接。
  • 直接使用OOXML库,但您说您不想直接使用XML。

Office 2007和Office 2010 Word文档文件基本相同,编程模型和它们之间的API更改 - 我认为唯一重要的区别是Office 2010的UI看起来比2007年更好。