####forked by jcjview
#all slides in one ppt
##simple to work##
Notes: 0.3 Date:2014-10-28
Perl script may have some problem with perl win32 OLE.So I use powerpoint VBA to refactore this script.
You can check code in userform3.frm. And there is no virus at all.
use RunAllInOne_plus.pptm run MACRO join to load.
It works in office 2013 and office 2010 in windows XP win7 (X86) .But it has a problem that can't copy images when run in office 2007.
I have a very simple requirement that to have all slides in only one ppt. So I work on this script to meet my requirement.
Put all the ppts in root folder, then run AllSlideInOne.pl.All in start.pptx.
That's it.
Notes: 0.2 Date:2014-7-8
- Support .ppt files.
- Inserting keeps source formatting by modify reg.
To keep source ppts formatting you need to Modify the registry.You can get it in MS website support en. for Chinese :如何改注册表,微软网站.
###I wrote a *.reg file in /Win32/InsertSlideFromFileKeepSourceFormatting.reg.You can just run this file to import reg.
Notes: 0.1
- Support Filenames with Chinese Charactors(GBK).
- Sometimes Win32 OLE will Crack.I don't know why.
- Don't suppert ppt sorting.
Thanks original author.
I am grateful that the Lord Jesus Christ has given me the ability to write something useful that helps others. He has also given me a job that I enjoy, so I am happy to make this available for free.
Should you find this application useful and want to give back, I humbly ask that you consider making a donation to one of the following organizations:
-
Christian Counseling Education Foundation: CCEF's mission is to "Restore Christ to counseling and counseling to the church".
-
White Horse Inn: The White Horse Inn is a blog and podcast that aims teach Christians to "know what they believe and why they believe it".
I have built a crude graphic interface using wxPerl. Note that it doesn't yet support the --start-with option, that is, the ability to append files to a starting presentation. In order to use the GUI, you'll need to install the Wx module. See the Requirements sections for details on how to do this.
Once Wx is installed, you may then run
PowerpointJoin-GUI.pl
to use the graphical version.
Given several Powerpoint presentations, you want to merge them together. You could do it within Powerpoint, but perhaps you only want slides 1, 3, 8-9, and 20 from one deck, all of the next deck, and a few more onesy-twosy slides from various other decks.
This script is written in Perl. Perl is available for free from either ActiveState or Strawberry. Once that is installed, you will also need to install two modules that may not already be installed. From a command prompt, type
perl -MCPAN -e "install Win32::PowerPoint"
Once that completes, double check that the second module is installed by typing
perl -MCPAN -e "install Win32::OLE"
If you want to use the GUI, you should also run
perl -MCPAN -e "install Wx"
Now you're ready.
The configuration file defines which the source charts and which slides from those files are used. Blank lines and lines that start with # are ignored.
Example: insert all slides from each file
file=files\a.pptx
file=files\b.pptx
file=files\c.pptx
Example
file=files\a.pptx
slides=1-2,5,9-14
file=files\b.pptx
slides=3,5,6
file=files\c.pptx
slides=1,3-9
After downloading the zip file, extract them to your hard drive, for example, in c:\PowerpointJoin. Open a command prompt (Start | All Programs | Accessories | Command Prompt). Go to this directory by typing
cd c:\PowerpointJoin
Make sure that everything works by typing
PowerpointJoin.pl
The response should look like the following:
C:\PowerpointJoin>PowerPointJoin.pl
Usage: C:\PowerpointJoin\PowerPointJoin.pl --conf
ig <config_file> [--start-with <start.pptx> | --output <output.ppt>]
The config file should have the following format:
file=filename1.ppt
slides=1-4,6-8,12
file=filename2.ppt
file=filename3.ppt
slides=3
The start and end lines are optional. start defaults to 1 and end
defaults to the last slide in the file. The blank line betwen
sections is option, but makes it readable if you have a lot of
start/end lines.
To process your config file, assuming your config file is named "config.txt", type
PowerpointJoin.pl --conf config.txt --output merged_charts.pptx
The merged charts will be in the file "merged_charts.pptx". Optionally, you may also do
PowerpointJoin.pl --conf config.txt --start-with existing_charts.pptx
and the files defined in your config file will be appended to existing_charts.pptx. One advantage of doing it this way is that the theme of existing_charts.pptx will be preserved through the appended charts.