David Morrison said:
I am using PowerPoint 2004 to run a slideshow in an unattended display.
At the moment, I have a single slideshow, but need to add extra
components to the end. Given the size of the presentation (lots of
photos), it would be more efficient to make a new ppt show for each
component I add. (Apart from anything else, it would be easy to switch
out one if it was no longer needed, or to update it.)
So I was wondering if there is any easy way to chain a series of
presentations together so that when one finishes, it automatically goes
on the the next one?
I thought Automator might have been a possibility, but there don't seem
to be any actions for Powerpoint.
Otherwise, I'll have to brush up on my AppleScript again......
Thanks to everyone for the help. I have actually got myself a solution,
and written an AppleScript that people might find useful.
First, the solution. The extra 250 pictures I wanted to add to the
presentation were just a simple slide show; no special transitions were
needed.
GraphicConverter does a magic slideshow. It does what seems sensible and
does it with with just a folder of pictures, automatically scaling
everything to fill the screen.
It has an option to export the slideshow as a QuickTime slideshow movie
(MPEG 4) which gives quality virtually indistinguishable from looking at
the original pics.
I then inserted that movie into a new slide in the ppt presentation,
adjusted the height to be 540 pixels and the width to be 1000 pixels.
Then used the alignment tool to centre it on the slide.
Works perfectly. Well almost, when the movie finishes, there is a short
flash of white before it goes back to the start for the next loop. I
thought it may have been the movie background, but it was still there
when I changed the background to black. :-(
Now, the AppleScript. Before I had worked out the solution above, I had
been looking at what needed to be done to make the existing 4:3
presentation into 16:9 so the pics would display at full size. The
problem with changing the size in Page Setup was that all the graphics
would get stretched horizontally. Jim's PPT FAQ suggested copying each
graphic out of the old presentation, and pasting into the new one to
restore the aspect ratio of the graphics. With hundreds of pictures,
that did not sound very attractive, and there would also be the problem
of getting them back where they belonged.
It turns out that AppleScript (and probably VBA) can do almost this. So
the script below opens a Powerpoint file, copies all the slides over to
a new presentation, and then adjusts the width of each object on the
slide to its previous value.
What I am not sure of is what other non-slide objects there are in a ppt
file. This only copies slides and everything they contain. Anything else
will need to be set up again, or maybe the script can be made to copy
them too.
To use this, copy the script and paste it into a Script Editor window.
Click on the Run button.
Note that some of the lines may have been wrapped. Almost all lines that
do not start with either a space/tab or two hyphens (--) are mean to be
on the end of the previous line. If that proves impossible, let me know
here and I'll post it on a web site somewhere.
Cheers
David
-----Cut below this
--
-- Make a 4:3 presentation into 16:9 while attempting to keep all
proportions correct.
--
-- Opens a ppt file, copies all the slides over to a new presentation
which is a 16:9 version
-- of the original, then adjusts all objects to restore their aspect
ratio. The new presentation
-- is left open in Powerpoint for any fine tuning.
-- Note that objects will have been moved around by the widening, and
may need to be
-- moved to regain the original layout.
-- Only tried on Powerpoint 2004
-- David Morrison, October 2009
--
-- Get the file to be widened
--
set OldFile to choose file with prompt "PPT file to widen"
--set OldFile to open "/Users/fred/Desktop/test3.ppt"
tell application "Microsoft PowerPoint"
launch
--
-- Open original presentation
--
open OldFile
set OldPresentation to name of active presentation
set OldPresentationWidth to slide width of page setup of presentation
OldPresentation
-- Calc below needs careful understanding. It makes the width greater
so
-- that the aspect ratio is 16:9. Height is unchanged.
set NewPresentationWidth to 16 / 3 / 4 * OldPresentationWidth
--
-- Create new presentation
--
set NewFile to make new presentation
set NewPresentation to name of active presentation
set NewDocumentWindow to document window 1
set slide width of page setup of presentation NewPresentation to
NewPresentationWidth
--
-- Start processing slides
--
repeat with i from 1 to count of slides in presentation
OldPresentation
set OldSlide to slide i of presentation OldPresentation
-- Copy the slide to the new presentation
set OldSlide_i to copy object OldSlide
set NewSlide_i to paste object of presentation NewPresentation
-- Adjust the sizes of shapes in the new presentation
repeat with j from 1 to count of shapes in OldSlide
set OldShape to shape j of OldSlide
set NewShape to shape j of slide i of presentation
NewPresentation
set OldWidth to width of OldShape
set OldHeight to height of OldShape
set OldLeftPos to left position of OldShape
set OldTop to top of OldShape
set TempLockAspectRatio to lock aspect ratio of NewShape
set lock aspect ratio of NewShape to false
set width of NewShape to OldWidth
set lock aspect ratio of NewShape to TempLockAspectRatio
end repeat
end repeat
close presentation OldPresentation
end tell
-------Cut above this