15,000 Excel Charts to PPT

D

dR

I have an Excel VBA application which generates a PDF file with 15,000
pages, mostly charts, from CSV input files. (VBA code is some 3,500
lines).
I now need to produce the whole thing also in PPT.

I basically have 2 options:
A. Convert my finished PDF file to PPT.
B. Generate PPT directly from Excel.

I looked online at demo PDF to PPT converters, but I am not satisfied
with file size. The PDF document is 100 mb, and the demo (which is
available for 1 page only) produced a PPT file 14 times larger. That
will make my final PPT about 1.4 gb. Also, just 1 page conversion took
considerable time.
I prefer to generate PPT directly from Excel, using VBA.

Could you share some experience? I have very limited knowledge of PPT
(at this point).

What I do know is:
1. I do not need, nor do I want any linkage.
2. The Excel charts exists only 'on the fly'. All 15,000 pages are
generated from 6 templates which are refreshed by VBA from the CSV
files. At the point in time in the loop when PDF print driver is
employed, I could also insert code to generate PPT.

A bonus question is regarding navigation. PDF has a nice tree structure
bookmarks for easy navigation. Is there anything comparable in PPT? Is
Slide Sorter only 1 for 1?

Thanks a Million
 
S

Shyam Pillai

Hi,
How do you want the charts to be represented on the slides? Should they be
as editable charts, OLE objects or just a picture of the chart. The last
option will lead to the least file size and you would be able to copy the
chart picture from Excel and paste it on to the PowerPoint slide.
http://skp.mvps.org/ppt00036.htm

If you google for PowerPoint and Excel integration you will find several
examples. You might also want to look at some of the examples posted at
Excel MVP Jon Peltier's site
http://peltiertech.com/Excel/Charts/chartvba.html

Regards,
Shyam Pillai

Handout Wizard
http://skp.mvps.org/how
 
S

Steve Rindsberg

Option B, definitely.

With option A, PDF to PPT, at best you'll end up with a picture of your charts, not a real
chart, and you're at the mercy of the converter you choose.

With Option B, you can choose whether to preserve the charts as linked or embedded charts or
you can convert them to pictures of charts, either vector or raster; and you control the
whole process, start to finish.

Besides, it's a lot simpler and will take a fraction of the time/computer horsepower.

For example, you might go with a solution that simply automates this:

Create an instance of PPT, start a new presentation or open an existing one
For each chart
Copy the chart in Excel
Add a new slide in PPT
Paste the chart onto the slide
Ungroup then regroup the chart
 
C

ChrisHarrington

That is a lot of slides! I think that any automation solution is going to be
slow. I am curious what you would do with such a large presentation.

I have a product called PowerPoint Automation Toolkit (PPTATK) which might
satisfy your needs. When generating presentations in the background (not
displayed during generation) it can typically do 2-3 slides per second.
PPTATK would pull the data and generate native PPT charts/slides.

Chris Harrington
Active Interface
http://www.activeinterface.com/pptatk.html
 
D

dR

Thanks to all responders.

To Shyam
The charts should be just pictures. They must not be editable, so
definitely no linking and embedding.

To Steve
I agree with your approach.
What is the purpose of ungrouping and regrouping? I do not need to do
any editing in PPT. I want the chart to be as is from Excel. Ungrouping
and regrouping did however increase file size by 2.5 times.

To Chris
To satisfy your curiosity, The PDF file is used to display monthly
financial data for a large bank. The PPT file will never be used as a
presentation as is. It should be produced ahead of time, so selected
slides are available to be extracted and used in other presentations. I
know what you think, I also said generate only what you need, but I am
on the payroll...

To all
I am experienced with VBA so I do not see an issue adapting to PPT
object model.
I am still struggling with chart size. I am trying manually to copy the
chart (as picture Edit + shift), and pasting it to a slide. I am
puzzled by the advice in PPTools
(http://www.rdpslides.com/pptfaq/FAQ00068.htm) to fit excel range to
12.84"h by 11.78"w. It is much too large and out of proportion.
When I go in PPT to File/Page Setup, the default slide size is 7.5"h
by 10"w.
My 'chart' is actually 4 charts on one sheet, with titles and other
text in cells, so I copy it all as a range. Row height, column width
and fonts are all optimized for the Distiller print driver of PDF. I
find it very difficult to resize them all, so they will satisfy both
PDF requirement and fit as 100% to PPT slide.

When I draw a rectangle (auto shape) in Excel covering my range, the
size is 12.78"h by 16"w (ratio of 0.8 h/w). When I copy that range
onto a slide, PPT has that picture as 10.07"h by 9.73"w (ratio of
1.03 h/w).
Where this discrepancy comes from, and how should I size it?
 
S

Steve Rindsberg

To Steve
I agree with your approach.
What is the purpose of ungrouping and regrouping?

It'd depend on what's pasted from Excel into PPT in the first place:

- If it's an OLE embedded object, you have a WMF representation of the chart
PLUS the entire content of the spreadsheet plus some overhead.
Ungrouping/regrouping tosses out the data and the ole overhead, leaving just
the WMF.

- If it's an OLE linked object, you have a WMF picture plus some OLE overhead,
but it's linked back to the original spreadsheet. Ungrouping leaves you just
the picture and destroys the link.

In both cases, the idea is to toss out any data or connections to data and
leave just the picture, but ...

- If it's a picture in the first place, there's no need to ungroup/regroup.
I do not need to do
any editing in PPT. I want the chart to be as is from Excel.

In appearance or functionality? I'm assuming that you don't want other people
to edit the chart either.
Ungrouping
and regrouping did however increase file size by 2.5 times.

That's very odd indeed.
To all
I am experienced with VBA so I do not see an issue adapting to PPT
object model.
I am still struggling with chart size. I am trying manually to copy the
chart (as picture Edit + shift), and pasting it to a slide. I am
puzzled by the advice in PPTools
(http://www.rdpslides.com/pptfaq/FAQ00068.htm) to fit excel range to
12.84"h by 11.78"w. It is much too large and out of proportion.
When I go in PPT to File/Page Setup, the default slide size is 7.5"h
by 10"w.

Ignore that particular FAQ. It doesn't apply to copying as picture.
My 'chart' is actually 4 charts on one sheet, with titles and other
text in cells, so I copy it all as a range. Row height, column width
and fonts are all optimized for the Distiller print driver of PDF. I
find it very difficult to resize them all, so they will satisfy both
PDF requirement and fit as 100% to PPT slide.

When I draw a rectangle (auto shape) in Excel covering my range, the
size is 12.78"h by 16"w (ratio of 0.8 h/w). When I copy that range
onto a slide, PPT has that picture as 10.07"h by 9.73"w (ratio of
1.03 h/w).
Where this discrepancy comes from, and how should I size it?

Brian Reilly probably knows the answer to this one ... over to you, B
 
C

ChrisHarrington

dR,

What I typicall do in this case is have the superset of slides be described
but not instantiated. And give the user a web interface for selecting the
slides they want - then generate on demand that set of slides. You can see
examples of such on-demand slide generation in the demos on my web site.

Chris Harrington
Active Interface
http://www.activeinterface.com/pptatk.html
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top