我是 .NET 的新手。我想制作一个将.pptx文件转换为.wmv的控制台应用程序。我已经设法使用powerpoint interop来做到这一点。但是我有一些问题。首先,如果我构建应用程序并将其转移到另一台计算机上,我会得到一个已为 COM 对象返回异常错误 HRESULT E_FAIL(我在两台 PC 中都有 powerpoint)。如果我在我写的那个上运行它,我一切正常。但不是第一次。这意味着当我启动我的 pc 和运行它我会得到同样的异常,第二次我会尝试运行它会正常运行。可能是什么问题?iguess with interop and 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();
}
}
}
}