Mitchell Lawlor
Mitchell Lawlor

Reputation: 45

Set an office theme to a powerpoint VBA

I'm currently making an automatic Powerpoint from excel using vba and I would like to set a theme to the document, the "Ion" theme to be precise. I have the following code:

Sub CreateFullPres()

Dim ppt As PowerPoint.Application
Dim pres As PowerPoint.Presentation
Dim sld As PowerPoint.Slide
Dim shp2 As Shape


'Create Powerpoint
Set ppt = New PowerPoint.Application
Set pres = ppt.Presentations.Add
ppt.Visible = True


'Add Slide
Set Slide1 = pres.Slides.Add(1, ppLayoutTitle).Shapes.Placeholders
SlideTitle = Sheets("FIBO Monthly Update").Range("B4")
SubTitle1 = Sheets("FIBO Monthly Update").Range("B6")
SubTitle2 = Sheets("FIBO Monthly Update").Range("B7")
Slide1.Item(1).TextFrame.TextRange.Text = SlideTitle
Slide1.Item(2).TextFrame.TextRange.Text = SubTitle1 & ": " & SubTitle2

The code continues after this but this is all that is necessary.

Thanks in advance.

Upvotes: 0

Views: 436

Answers (1)

Steve Rindsberg
Steve Rindsberg

Reputation: 14809

pres.ApplyTheme {full path to your thmx file}

Finding the MS-supplied themes can be tricky. It'll be simpler if you create a presentation based on the Ion theme, save it as a THMX to a convenient location, then specify that path/file.thmx in the code above.

By the way, you'll also want to use

Dim shp2 As PowerPoint.Shape

instead of

Dim shp2 As Shape

which dims it as an Excel shape rather than a PowerPoint shape; they're likely to have different properties.

Upvotes: 1

Related Questions