2015-11-06 23 views
0

正如你所看到的,我手中有一些物體,但我無法弄清楚如何獲取當前文件名。我從xml文件獲取_currentSlideName並比較以打開新幻燈片。 你有什麼建議可以獲得當前的Powerpoint演示文件名嗎?C#如何獲取當前的Powerpoint演示文件名?

ppt.Application _pptApplication = new ppt.Application(); 

    private void Open(string fileName) 
    { 
    _presentation = _pptApplication.Presentations.Open(fileName, MsoTriState.msoTrue, MsoTriState.msoTrue, MsoTriState.msoFalse); 
    } 

    private void CheckSlide() 
    { 
     if (_oSlideShowView == null) 
       { 
        try 
        { 
         Open(_settingObj.Path + _currentSlideName); 
        } 
        catch (Exception) 
        { 
         Open(_settingObj.Path+ "Test.pptx"); 
        } 

       } 
       else if (_currentSlideName != _presentation.Path) 
       { 
        try 
        { 
         Open(_settingObj.Path + _currentSlideName); 
        } 
        catch (Exception) 
        { 
         Open(_settingObj.Path+ "Test.pptx"); 
        } 
       } 
    } 

回答

2

獲取打開演示文稿的完整文件名僅爲Presentation.FullName。在你的情況,這將是:

_pptApplication.ActivePresentation.FullName 

注意,如果文件沒有保存當前這個只返回演示文稿的名稱。如果沒有保存,演示文稿的Path是一個空字符串。

編輯:上面的例子返回完整的文件名。如果您只想要名稱,請使用以下內容。爲了澄清這一點,只有保存的演示文稿纔有意義,我已在Path上添加了一個檢查。

if(!_pptApplication.ActivePresentation.Path.Equals("")) { 
    var name = _pptApplication.ActivePresentation.Name 
    ... do processing... 
} 
else { 
    ... error ... 
} 
+0

[鏈接](http://i.htmllive.cn/ZJRJ8G.png)你可以看到它仍然是錯誤的 – onurcan

+0

該文件是否保存? – DanL

+0

保存後,我能夠獲得完整路徑,但它仍然不是演示文件名 – onurcan

相關問題