-2

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

1 回答 1

1

有几个主要选项:

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

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

于 2013-04-25T23:19:45.920 回答