2013-04-25 63 views
-2

我试图从VS2005中的VB到VS2010中的C#中将之前创建的Word 2007功能区集(8个选项卡,约150个按钮和10个复选框)进行翻译。 我遇到的问题是,我无法设置按钮的控件以使用启用了宏的模板来打开新文档。我为每个模板都有一个确认的文件路径,而且我使用了VB-C#翻译器,但由于某些原因,它无法正常工作。 这里是我有我的加载模板(一个或多个)方法至今:C#/ VS2010在运行时从模板生成新文档

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

有几个主要的选项:

  • 使用办公自动化COM库 - 工程很好,但有几个条件:
    • 您需要许可Office(或至少Word)计算机的代码的运行(如果Office尚未安装)
    • 您不能在服务器端,无桌面环境(例如,桌面环境)中使用它。从ASP.NET应用程序中)。这不是受支持的方案。
  • 使用Aspose等第三方库。
    • 捕捉是昂贵的。
  • 使用SaaS服务一样Saaspose
    • 它的价格合理:每月15 $,但它并不像阅读Aspose当地的图书馆一样灵活,需要一个可靠的互联网连接。
  • 直接使用OOXML库,但你说你不想直接使用XML。

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