1

パワーポイントのプレゼンテーションを作成してからC#アプリケーションを作成しています。プログラムでプレゼンテーションにテーマを適用したいと思います。次のコードを使用してテーマリストを取得しました。しかし、どうすればアクティブなプレゼンテーションにそれらを適用できますか?

String programfilesPath = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
String msOfficePath = "Microsoft Office\\Document Themes 14";
String fullPath = Path.Combine(programfilesPath, msOfficePath);
String[] fileEntries = Directory.GetFiles(fullPath, "*.thmx", SearchOption.TopDirectoryOnly);

どのように進めるかについて何か考えはありますか?

4

2 に答える 2

1

いくつかの良い例を見つけました:

  1. プログラムで PowerPoint を作成する
  2. テーマの適用 PowerPoint 2010

これら2つのガイドを組み合わせると、すべてこれになります

using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Core = Microsoft.Office.Core;
// ...

// create application object
PowerPoint.Application pptApplication = new PowerPoint.Application();

PowerPoint.Slides slides;
PowerPoint._Slide slide;
PowerPoint.TextRange objText;

// Create the Presentation File
PowerPoint.Presentation pptPresentation = pptApplication.Presentations.Add(Core.MsoTriState.msoTrue);

// APPLY THEME - for example Clarity.thmx or 
// anything within Microsoft Office\Document Themes 14    
pptPresentation.ApplyTheme(@"C:\Program Files (x86)\Microsoft Office\Document Themes 14\Clarity.thmx");

PowerPoint.CustomLayout customLayout = pptPresentation.SlideMaster.CustomLayouts[PowerPoint.PpSlideLayout.ppLayoutText];

// Create new Slide
slides = pptPresentation.Slides;
slide = slides.AddSlide(1, customLayout);

// Add title, modify content and so on ...
objText = slide.Shapes[1].TextFrame.TextRange;
objText.Text = "hello world";
objText.Font.Name = "Verdana";

pptPresentation.SaveAs(@"c:\yourPPT.pptx", PowerPoint.PpSaveAsFileType.ppSaveAsDefault, Core.MsoTriState.msoTrue);

pptPresentation.Close();
pptApplication.Quit();
GC.Collect();
于 2013-01-16T21:35:18.803 に答える
0

私が探していた答えを見つけました。他の人の助けのために完全なコードを共有しています

using Microsoft.Office.Interop.PowerPoint;

String programfilesPath = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
String msOfficePath = "Microsoft Office\\Document Themes 14";
String fullPath = Path.Combine(programfilesPath, msOfficePath);
String themePresentationPath = fullPath + "\\" + Waveform.thmx"; 
// You can change this Waveform.thmx file to any other theme file to apply other theme.


Application pptApplication = new Application();
Presentation pptPresentation = pptApplication.Presentations.Add(Microsoft.Office.Core.MsoTriState.msoTrue);

pptPresentation.ApplyTemplate(themePresentationPath);
于 2013-01-16T21:34:56.403 に答える