今回は、PowerPointファイルのスライドショーをC#から呼び出してみます。
http://support.microsoft.com/kb/303718/ja
を参考にさせていただきました。
/// <summary> /// スライドショー /// </summary> /// <param name="filename"></param> public void slideShow( string filename ) { Microsoft.Office.Interop.PowerPoint.Application app = null; Microsoft.Office.Interop.PowerPoint.Presentation ppt = null; try { // PPTのインスタンス作成 app = new Microsoft.Office.Interop.PowerPoint.Application(); // 表示する app.Visible = Microsoft.Office.Core.MsoTriState.msoTrue; // オープン ppt = app.Presentations.Open(filename, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoTrue); // スライドショーのページの指定 int[] SlideIdx = new int[ppt.Slides.Count]; for ( int i = 0; i < SlideIdx.Length; i++ ) { SlideIdx[i] = i + 1; } Microsoft.Office.Interop.PowerPoint.SlideRange range; range = ppt.Slides.Range(SlideIdx); range.SlideShowTransition.AdvanceOnTime = Microsoft.Office.Core.MsoTriState.msoTrue; range.SlideShowTransition.AdvanceTime = 3; bool assistant_on = app.Assistant.On; app.Assistant.On = false; // 設定 Microsoft.Office.Interop.PowerPoint.SlideShowSettings settings; settings = ppt.SlideShowSettings; settings.StartingSlide = 1; settings.EndingSlide = SlideIdx[SlideIdx.Length - 1]; // スライドショーの開始 settings.Run(); // 待機する while ( app.SlideShowWindows.Count >= 1 ) { System.Threading.Thread.Sleep(100); } //Reenable Office Assisant, if it was on: if ( assistant_on ) { app.Assistant.On = true; app.Assistant.Visible = false; } } finally { // 終了 if ( ppt != null ) { ppt.Close(); } // PPTを閉じる if ( app != null ) { app.Quit(); } } }
The following two tabs change content below.
taira
Sofrware Engineer.
最新記事 by taira (全て見る)
- 翻訳リソースファイル(.po)をXLIFF形式(.xlf)に変換する - 2014年6月27日
- 一杯のラーメン - 2014年6月26日
- Macで翻訳ファイル*.poをmo形式に変換する - 2014年6月4日
Comments are closed.