?
Solved

Problems with powerpoint vba initialising APP

Posted on 2013-11-25
3
Medium Priority
?
665 Views
Last Modified: 2013-11-25
I have tried to follow the guidance provided on the Microsoft website for event handling but i can not get the following to code work.

I have a classmodule called "EventClassModule" - includes the following code

Public WithEvents App As PowerPoint.Application

Private Sub App_PresentationOpen(ByVal Pres As Presentation)
    ActivePresentation.Slides(12).Shapes("TextBox1").OLEFormat.Object.Text = "Basic introduction to training"
End Sub

I have a module called "Module1" includes the follwoing code

Dim X As New EventClassModule
Sub InitializeApp()
    Set X.App = PowerPoint.Application
End Sub

And i was hoping that when i open the ppt file the text box on page12, textbox1 will be populated but it simply does not work and does not error.

I am obviously doing something very stupid (like where and how do i run initializeapp), all help most welcome
0
Comment
Question by:SweetingA
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 52

Accepted Solution

by:
Rgonzo1971 earned 1500 total points
ID: 39673996
Hi

the code InitialzeApp

Sub InitializeApp()
    Set X.App = PowerPoint.Application
End Sub

Open in new window


Doesn't fire itself

you have to have an autoopen in an ppt File saved as add-in to do it (ppta) and the rest of your class module code

Dim X As New EventClassModule

Sub Auto_Open() 
     Set X.App = PowerPoint.Application
End Sub 

Open in new window

Regards
0
 

Author Comment

by:SweetingA
ID: 39674726
Hello there,

sorry i am a real dummy and a new starter to this.

Can you explain the procedure right from the start as i may have other things set wrong.

Sorry to be a pest.

Thanks
0
 
LVL 23

Expert Comment

by:JSRWilson
ID: 39674800
Rgonzo is telling you (correctly) that it is very difficult  to fire the sub to initialise the event object from a normal presentation. The only reliable sub that fires is Auto_Open BUT it will only fire when an ADDIN loads. The ADDIN cannot contain your slides.

If this is a pptm file AND you are sure the user is opening in edit mode and Macro security is set low enough you can use the ribbon onLoad Event from XML. You may not even need the class module.

There's a simple tutorial on how to add this XML to the presentation.

http://www.pptalchemy.co.uk/PowerPoint_Auto_Open_Code.html

In the presentation


Sub OnLoadCode()
   ActivePresentation.Slides(12).Shapes("TextBox1").OLEFormat.Object.Text = "Basic introduction to training"
End Sub

If you can wait for the show to begin before changing the ActivX text then it is easier!

Probably good to explain WHY the text has to be changed too.
0

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
If you need a simple but flexible process for maintaining an audit trail of who created, edited, or deleted data from a table, or multiple tables, and you can do all of your work from within a form, this simple Audit Log will work for you.
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
Have you created a query with information for a calendar? ... and then, abra-cadabra, the calendar is done?! I am going to show you how to make that happen. Visualize your data!  ... really see it To use the code to create a calendar from a q…
Suggested Courses

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question