I've seen loads of solutions to building slide shows that use a callout that has a speech tag that points to the item of interest on the slideshow page. All of them include many many slides and navigation cobwebs. The simplest way I have found to do this is by using an array, an if statement and the ".Nodes.SetPosition" method. I won't show all the code for that here, that will be saved for a book I'll publish later down the track. But with this VBA most of you will get the picture. Firstly add a callout to your slide and right click on it and choose the "Edit Points" option. Then move the point at the tip of the callout tag the one with the yellow point. This will convert the callout to a code editable object.
You'll then bring up a macro window where you can create a new macro. I've created one called Call_Out.
Now on the top ribbon choose the developer tab and then select the macro icon. If you can't see the developer tab in the ribbon, a quick Google search will bring up a bunch of tutorials on what to do to make it available and how to turn on macro capability.
Hit Create and a new larger macro editing window will open for you. This is where the magic happens. You should now be looking at a generated scrip container something like this.
This is where you will add some code. But before you do it helps to start naming individual objects so that you can use the code to tell them to do things. Back in the main screen of PowerPoint choose the home tab.
At the far right of the home tab menu, you will see the select dropdown. Choose select and then selection pane. This will open a panel that shows each object on your slide and its position in relation to the other objects, very much like a layering menu in other multimedia software. Here you will be able to make objects visible or invisible, rename them or the group they may be in.
So here you can see the callout shape that I created and will manipulate with code. I've called mine Call1 you can name yours anything you want. Next, add the script bellow back in the macro script.
So to quickly explain this script..
The Sub is the subroutine and I called it Call_Out in the create macro window. Dim is how you declare variables and other objects. Set is declaring that when the program sees the variable name that it means the thing it equals. This could be a "string" a number or a repeated command. The work here is being done in the .Node.Setposition 7, 425,179 . What this is doing is grabbing the 7th point and translating it or repositioning it to a new position using the last two values. These are the x and y coordinates ( play with these to find the position you need ). It is with this code I can get the call out to point at any item on the screen of the phone. All I do is change the last two sets of numbers to place the point where I need it. To connect this action to a button I just need to choose the button I want to run the macro then under insert action, choose the macro I want to run on click. By the way you'll notice that the script is repeated for the second slide in my example. You don't need to add the second lot of code. This just worked for the project I was creating at the time.
Try this out yourself there is no end of uses for it.
Comments
Post a Comment