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

本文关键字:新文档 文档 Word 运行时 VS2010 2007 | 更新日期: 2023-09-27 18:11:01

我正在尝试将以前创建的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.";
        }

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

有几个主要的选项:

  • 使用Office Automation COM库-工作很好,但有几个条件:
    • 您需要为正在运行代码的计算机(如果尚未安装Office)授权Office(或至少Word)
    • 您不能在服务器端,无桌面环境中使用它(例如,从ASP。网络应用程序)。这个场景不支持。
  • 使用第三方库,如Aspose。
      问题是它非常昂贵。
  • 使用SaaS服务,如Saaspose
    • 价格合理:每月15美元,但不像Aspose这样的本地图书馆那么灵活,而且需要可靠的互联网连接。
  • 直接使用OOXML库,但你说你不想直接涉足XML。
  • Office 2007和Office 2010的Word文档文件本质上是相同的,它们之间的编程模型和API变化也是一样的——我认为唯一重要的区别是Office 2010的UI看起来比2007更好。