Supercharge your PowerPoint productivity with
|
PPTools |
Unlike the other Office programs, PowerPoint doesn't have a simple way to automatically run VBA code when you open a particular PPT file or create a new document based on a template. However, if you create an add-in that includes an Auto_Open subroutine, PowerPoint will run the code in Auto_Open when the add-in loads. It will also run any code in an Auto_Close subroutine when the add-in is unloaded manually via the Tools, Addins dialog or when you quit PowerPoint. Once loaded, an add-in will load itself every time PowerPoint starts up. Running code once can be useful, but what if you want to make your macros available at the click of a button? To do that, your add-in has to create a toolbar and add buttons to it. Each button can be associated with other macros in your add-in. So how do you create an add-in that does all this wonderful stuff? A Must-See Site: PowerPoint MVP Shyam Pillai's PowerPoint Add-in FAQ You may also want to read this MS Knowledgebase article on creating PowerPoint add-ins Here are the basics: Start with a new PowerPoint file Start a new PowerPoint file. Press ALT+F11 to start the VB Editor. Choose Insert, New Module.
Sub Auto_Open()
Dim oToolbar As CommandBar
Dim oButton As CommandBarButton
Dim MyToolbar As String
' Give the toolbar a name
MyToolbar = "Kewl Tools"
On Error Resume Next
' so that it doesn't stop on the next line if the toolbar's already there
' Create the toolbar; PowerPoint will error if it already exists
Set oToolbar = CommandBars.Add(Name:=MyToolbar, _
Position:=msoBarFloating, Temporary:=True)
If Err.Number <> 0 Then
' The toolbar's already there, so we have nothing to do
Exit Sub
End If
On Error GoTo ErrorHandler
' Now add a button to the new toolbar
Set oButton = oToolbar.Controls.Add(Type:=msoControlButton)
' And set some of the button's properties
With oButton
.DescriptionText = "This is my first button"
'Tooltip text when mouse if placed over button
.Caption = "Button1"
'Text if Text in Icon is chosen
.OnAction = "Button1"
'Runs the Sub Button1() code when clicked
.Style = msoButtonIcon
' Button displays as icon, not text or both
.FaceId = 52
'52 is my favorite pig;
' chooses icon #52 from the available Office icons
End With
' Repeat the above for as many more buttons as you need to add
' Be sure to change the .OnAction property at least for each new button
' You can set the toolbar position and visibility here if you like
' By default, it'll be visible when created
oToolbar.Top = 150
oToolbar.Left = 150
oToolbar.Visible = True
NormalExit:
Exit Sub ' so it doesn't go on to run the errorhandler code
ErrorHandler:
'Just in case there is an error
MsgBox Err.Number & vbCrLf & Err.Description
Resume NormalExit:
End Sub
Sub Button1()
' This code will run when you click Button 1 added above
' Add a similar subroutine for each additional button you create on the toolbar
' This is just some silly example code.
' You'd put your real working code here to do whatever
' it is that you want to do
MsgBox "Will you PLEASE stop clicking me? I have a headache already!"
End Sub
' That's it. Don't add anything past this point to your code. Make sure the add-in code compiles SAVE your PPT file Create the Add-in You now have a new PowerPoint Add-in. Until you load it into PowerPoint, it's not going to do you much good, so the next step is: Load the Add-in Click the buttons on your new toolbar to test your macros. Enjoy! Also see Shyam Pillai's PowerPoint Add-in FAQ See How do I use VBA code in PowerPoint? to learn how to use this example code. Español Deutsch Français Português Italiano Nederlands Greek Japanese Korean Chinese |
Supercharge your PPT Productivity with PPTools
|
content authoring & site maintenance by |
Create an ADD-IN with TOOLBARS that run macros
http://www.pptfaq.com/FAQ00031.htm
Last update 02 October, 2006