2017-02-15 6 views
0

В моем приложении есть возможность запустить точку питания MS, указав ее версию. Я использую следующий код для запуска РРТPowerpoint нельзя открыть, указав версию C#

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); 
} 

Когда она выполняется на компьютере со всеми тремя версиями установленных, он открывается в PowerPoint 2016 года, независимо от того, какое значение в Version.

Просьба помочь и может кто-нибудь указать, почему это происходит.

ответ

0

Посмотрите HKEY_CLASSES_ROOT \ PowerPoint.Application \ CurVer

Я не уверен, но я подозреваю, что он определяет, какие версии приложения открывается при создании объекта РРТ.

Смежные вопросы