今回は、PowerPointファイル内のフォントを違うフォントで置換します。
”MS Pゴシック”に変更してみます。
/// <summary> /// ファイルのフォントを置換する。 /// </summary> /// <param name="file"></param> /// <param name="file2"></param> public void replaceSlideFont( string file, string file2 ) { Microsoft.Office.Interop.PowerPoint.Application app = null; Microsoft.Office.Interop.PowerPoint.Presentation ppt = null; try { // PPTのインスタンス作成 app = new Microsoft.Office.Interop.PowerPoint.Application(); ppt = app.Presentations.Open(file, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse); // 全体での指定したフォントの置換 try { // "MS ゴシック" → "MS Pゴシック"に ppt.Fonts.Replace("MS ゴシック", "MS Pゴシック"); } catch ( Exception ex ) { Debug.WriteLine(ex.Message); } // オブジェクトごとのフォントの置換 if ( ppt.Slides.Count > 0 ) { for ( int i = 1; i <= ppt.Slides.Count; i++ ) { Debug.WriteLine("Slide:" + i.ToString() + "ページ"); foreach ( Shape shape in ppt.Slides[i].Shapes ) { replaceShapeFont(shape); } } } // ファイルに保存 ppt.SaveAs(file2, PpSaveAsFileType.ppSaveAsDefault, Microsoft.Office.Core.MsoTriState.msoFalse); } finally { if ( ppt != null ) { ppt.Close(); } if ( app != null ) { app.Quit(); } } return ; } /// <summary> /// オブジェクトのフォント置換 /// </summary> /// <param name="shape"></param> private void replaceShapeFont( Shape shape ) { if ( shape.HasTextFrame == Microsoft.Office.Core.MsoTriState.msoTrue && shape.TextFrame.HasText == Microsoft.Office.Core.MsoTriState.msoTrue ) { if ( shape.TextFrame.TextRange.Text != "" ) { // フォント置換。 Microsoft.Office.Interop.PowerPoint.Font font; font = shape.TextFrame.TextRange.Font; font.Name = "MS Pゴシック"; font.NameFarEast = "MS Pゴシック"; font.NameOther = "+mn-ea"; font.NameComplexScript = "+mn-cs"; } } // 再帰 if ( shape.Type == Microsoft.Office.Core.MsoShapeType.msoGroup ) { foreach ( Shape childShape in shape.GroupItems ) { replaceShapeFont(childShape); } } return; }
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.