通过指定版本c#无法打开Powerpoint

时间:2017-02-15 10:29:22

标签: c# windows ms-office powerpoint office-automation

在我的应用程序中,可以通过指定版本来启动MS power point。我一直在使用以下代码启动ppt

openPPT(int Version, string strFileName)
{
    if(Version == 2010)
        objectName = "Powerpoint.Application.14";
    if(Version == 2013)
        objectName = "Powerpoint.Application.15";
    if(Version == 2016)
        objectName = "Powerpoint.Application.16";

        oPPT = new Microsoft.Office.Interop.PowerPoint.Application(objectName);
        oPPT.Visible = Microsoft.Office.Core.MsoTriState.msoTrue;
        objPresSet = oPPT.Presentations;
        objPres = objPresSet.Open(strFileName, MsoTriState.msoFalse,MsoTriState.msoTrue, MsoTriState.msoTrue);
}

在安装了所有三个版本的电脑上执行时,无论Version中的值是什么,它都会在powerpoint 2016中打开。

请帮忙,任何人都可以指出为什么会这样。

1 个答案:

答案 0 :(得分:0)

查看HKEY_CLASSES_ROOT \ PowerPoint.Application \ CurVer

我不是肯定的,但我怀疑它控制着在创建PPT对象时打开哪个版本的应用程序。