![]() |
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 |
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 |
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 |
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 |
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 |
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 |
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