简体   繁体   中英

C# How to get current Powerpoint Presentation File Name?

As you see I have some object in my hand but I couldn't figure out how to get current file name. I am getting _currentSlideName from an xml file and compare to open new slide. Do you have any suggestion to get current power point presentation file name?

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

Getting the full filename of the open presentation is simply Presentation.FullName . In your case, this would be:

_pptApplication.ActivePresentation.FullName

Note that this only returns the presentation's name if the file is not currently saved. If it is not saved, the presentation's Path is an empty string.

EDIT: The example above returns the full filename. If you want only the name, use the following. Just to clarify that this only makes sense with saved presentations, I've added a check on Path .

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM