Powerpoint互操作

时间:2012-11-15 14:30:37

标签: interop powerpoint

我是.NET的新手。我想制作一个控制台应用程序,将.pptx文件转换为.wmv。我设法使用powerpoint interop.But我有一些问题。首先,如果我构建应用程序并将其转移到另一台计算机,我得到一个异常错误HRESULT已经为COM对象返回了E_FAIL(我在两台PC上都有powerpoint)。如果我在我写的那个上运行它我一切正常。但不是第一次。意思是当我启动我的电脑和运行它我将获得相同的异常,第二次我会尝试运行它将正常运行。可能是什么问题?iguess interop和powerpoint的东西,但我无法弄明白。

好的,这里是代码:

using Microsoft.Office.Core;
using Microsoft.Office.Interop.PowerPoint;
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using System.Runtime.InteropServices;
using System.IO;
using System;

  namespace Microsoft.Office.Interop.PowerPoint
 {
  class Program
  {

    static void Main(string[] args)
    {

        string fileName = args[0];
        string exportName = args[1];
        string exportPath = args[2];

        Microsoft.Office.Interop.PowerPoint.Application ppApp = new Microsoft.Office.Interop.PowerPoint.Application();
        ppApp.Visible = MsoTriState.msoTrue;
        ppApp.WindowState = PpWindowState.ppWindowMinimized;
        Microsoft.Office.Interop.PowerPoint.Presentations oPresSet = ppApp.Presentations;
        Microsoft.Office.Interop.PowerPoint._Presentation oPres = oPresSet.Open(fileName,
                    MsoTriState.msoFalse, MsoTriState.msoFalse,
                    MsoTriState.msoFalse);
        try
        {
            oPres.CreateVideo(exportName);
            oPres.SaveCopyAs(String.Format(exportPath, exportName),
                PowerPoint.PpSaveAsFileType.ppSaveAsWMV,
                MsoTriState.msoCTrue);
        }
        finally
        {
            ppApp.Quit();
        }
    }

}
}

1 个答案:

答案 0 :(得分:0)

_Presentation.CreateVideo无法使用powerpoint创建视频。它在一个powerpoint中创建了一个视频。无论如何,那就是documentation says

尝试_Presentation.SaveAs,然后使用PpSaveAsFileType.ppSaveAsWMV作为文件类型。