ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   VB code to open other applications from templates (https://www.excelbanter.com/excel-programming/442611-vbulletin-code-open-other-applications-templates.html)

Colin

VB code to open other applications from templates
 
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 With
-------------------------------------------------------------------------------------
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


Jacob Skaria

VB code to open other applications from templates
 
Try

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

--
Jacob (MVP - Excel)


"Colin" wrote:

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 With
-------------------------------------------------------------------------------------
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


Jacob Skaria

VB code to open other applications from templates
 
for Infopath try

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



--
Jacob (MVP - Excel)


"Colin" wrote:

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 With
-------------------------------------------------------------------------------------
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


Colin

VB code to open other applications from templates
 
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

"Jacob Skaria" wrote:

Try

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

--
Jacob (MVP - Excel)


"Colin" wrote:

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 With
-------------------------------------------------------------------------------------
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


Jacob Skaria

VB code to open other applications from templates
 
Try the below

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

--
Jacob (MVP - Excel)


"Jacob Skaria" wrote:

Try

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

--
Jacob (MVP - Excel)


"Colin" wrote:

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 With
-------------------------------------------------------------------------------------
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


Colin

VB code to open other applications from templates
 
All good, I appreciate your help Jacob

"Jacob Skaria" wrote:

Try the below

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

--
Jacob (MVP - Excel)


"Jacob Skaria" wrote:

Try

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

--
Jacob (MVP - Excel)


"Colin" wrote:

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 With
-------------------------------------------------------------------------------------
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


Jacob Skaria

VB code to open other applications from templates
 
You are most welcome and thanks for the feedback .

--
Jacob (MVP - Excel)


"Colin" wrote:

All good, I appreciate your help Jacob

"Jacob Skaria" wrote:

Try the below

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

--
Jacob (MVP - Excel)


"Jacob Skaria" wrote:

Try

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

--
Jacob (MVP - Excel)


"Colin" wrote:

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 With
-------------------------------------------------------------------------------------
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



All times are GMT +1. The time now is 11:04 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com