VB code to open other applications from templates

C

Colin

Hi, hopefully someone can help.

I have a user that has an excel spreadsheet that they have placed button
controls on that they hope to code to open other applications from existing
templates.

I have been able to open a word and excel fine but am having problems
opening a PowerPoint presentation from a template and an InfoPath from a
template.
-----------------------------------------------------
Code that is working for Word:

Dim appwd As Object
On Error GoTo notloaded
Set appwd = GetObject(, "Word.Application")
notloaded:
If Err.Number = 429 Then
Set appwd = CreateObject("Word.Application")
End If
appwd.Visible = True
On Error GoTo 0
With appwd
.Documents.Add ("C:\Desktop\Fixes\Excel\template1.dot")
End Wit
-------------------------------------------------------------------------------------
Code that is not working for Powerpoint and Infopath

Dim appwd As Object
On Error GoTo notloaded
Set appwd = GetObject(, "Powerpoint.Application")
notloaded:
If Err.Number = 429 Then
Set appwd = CreateObject("Powerpoint.Application")
End If
appwd.Visible = True
On Error GoTo 0
With appwd
.Presentations.Add ("C:\Desktop\Fixes\Excel\TEMPLATE.pot")
End With


End Sub

Private Sub CommandButton3_Click()
Dim appwd As Object
On Error GoTo notloaded
Set appwd = GetObject(, "Infopath.Application")
notloaded:
If Err.Number = 429 Then
Set appwd = CreateObject("Infopath.Application")
End If
'appwd.Visible = True
On Error GoTo 0
With appwd
.XDocuments.Add ("C:\Desktop\Fixes\Excel\Template Request a Resource
OPS.xsn")

-----------------------------------------------

For powerpoint I can open the template direct is I change the
..Presentations.Add to .Presentations.Open, but the user needs to open a
instance not the template?

Thanks for you time,
Colin
 
J

Jacob Skaria

Try

With appwd
.ActivePresentation.applytemplate
("C:\Desktop\Fixes\Excel\TEMPLATE.pot")
End With
 
J

Jacob Skaria

for Infopath try

With appwd
.XDocuments.NewFromSolution ("mentionfilename")
End With
 
C

Colin

Thanks very much Jacob, the infopath one worked perfectly.
The Powerpoint one now gives me the following error:

"Application.ActivePresentation :Invalid request. There is no active
presentation"

Do I need to open a blank one first somehow?

Cheers,
Colin
 
J

Jacob Skaria

Try the below

With appwd
.Presentations.Add WithWindow:=msoTrue
.Activepresentation.Slides.Add 1, 12
.Activepresentation.applytemplate ("C:\Optical design template.pot")
End With
 
C

Colin

All good, I appreciate your help Jacob

Jacob Skaria said:
Try the below

With appwd
.Presentations.Add WithWindow:=msoTrue
.Activepresentation.Slides.Add 1, 12
.Activepresentation.applytemplate ("C:\Optical design template.pot")
End With
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top