Skip to main content

Simple Node Code

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.


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.


You'll then bring up a macro window where you can create a new macro. I've created one called Call_Out.


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

Popular posts from this blog

Button States From A Table

I was asked recently to create a button that would have different states ( normal, hover over, down ). My first thought was to just use a command button from the developer tab. But they are pretty bland and somewhat clunky 1980's PC designed. I remembered a couple of ways that I have updated slide data before, sometimes from a table or another shape, both are very flexible techniques. The technique I'll show here is the table technique it is very straightforward and a creative mind will easily see the possibilities for more interesting uses. The Process: On any slide create a shape I've put mine on the first slide hence in the script it reads ActivePresentation.Slides(1) when I refer to the path of the shape. You can change the number if your shape is on a different slide. Once you create your shape in the Selection Pane rename your object to myButton or something else that you can remember easily later. Then create another shape and make it larger than your butt

Why PowerPoint?

To begin with, I don't know of any other software that is capable of creating standalone multimedia interfaces that are self-serving ( no host needed ) and available to most everybody with a PC. I know of Apache and Lybra Open Office but in the company I work, they are not readily available or liked. PowerPoint is on every machine in our organisation and is considered an enterprise solution that is secure and stable. Nearly everyone around the world is moving away from swf and actionscript, something I am remorseful about. I had fun using AS2 and AS3. Adobe Flash was one of the better animation tools around. I have looked at Adobe Animate and it's still a good animation software but the html5 that it outputs is not fully compatible with every browser. In fact in most cases with html5 there is an awful lot that can go wrong. If you want standalone apps, for instance, you are severely encumbered. PowerPoint at least for me, ticks all the boxes. It has a great variety of illustrat