【问题标题】:disabling overwrite existing file prompt in Microsoft office interop FileSaveAs method在 Microsoft Office 互操作 FileSaveAs 方法中禁用覆盖现有文件提示
【发布时间】:2011-03-22 14:07:41
【问题描述】:

我正在使用 Ms Office Interop 程序集创建一个 MS Project 文件。为了保存创建的文件,我使用 FileSaveAs 方法,它会提示一条消息,说明是否要替换现有文件。 我想抑制该消息,并且为此目的在 FileSaveAs 方法中没有找到任何参数。 对此有任何想法吗? 我使用 C# 作为我的编程语言。

【问题讨论】:

    标签: c# interop office-interop ms-project


    【解决方案1】:

    我在使用 Excel Interop 时遇到了这个问题。我能找到的最好方法是禁用 所有 Office 警报,如下所示:

    Microsoft.Office.Interop.MSProject.Application msProjectApp = new Microsoft.Office.Interop.MSProject.Application();
    msProjectApp.DisplayAlerts = false;
    

    【讨论】:

      【解决方案2】:

      永远不要双点 COM 对象,因为它们不会被释放,这将使 excel 在您的服务器上保持打开状态。不幸的是,我的服务器因此而崩溃。

      private void InitialiseExcel()
      {
          if (excelApp == null)
              excelApp = new Excel.Application();
          // Turn off User Prompts
          excelApp.DisplayAlerts = false;
          // Turn off screen updating so we do not get flicker
          var app = excelApp.Application;
          app.ScreenUpdating = false;
          // Specifies the state of the window;
          excelApp.WindowState = Excel.XlWindowState.xlMinimized;
          Marshal.ReleaseComObject(app);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-23
        • 1970-01-01
        • 2013-06-09
        • 1970-01-01
        • 2010-11-17
        • 1970-01-01
        相关资源
        最近更新 更多