PDA

View Full Version : Solved: Selected cels in Excel to Power Point



mike31z
05-05-2007, 05:51 PM
I want to copy selecter cells 6 across 6 down from excel to powerpoint slide presentation. There could be as many as 15 selected excel cell grougs to be added to the power point presentation that will be seen as an on going effot. Currently I have to copy the cells to word and then recopy to powerpoint in order to view it properly on the TV Monotor and not have my cell viewing size change when copying directly from excel.

Versions
Excel 2000 9.0 Sp3
PowerPoint 2000
MS Visual Basic 6.0


Mike in wisconsin
http://vbaexpress.com/forum/showthread.php?t=7288
I have tried Shazam!! It the last one in the post it was the only one taht aactually opened power point and create 5 slides of the last work sheet of various view sizes and screwed up the font in the source file.

mike31z
05-05-2007, 07:23 PM
Here is some code from a previous post. The code is from
Andy Pope

http://vbaexpress.com/forum/showthread.php?t=12436



Sub MakeSlide()
Dim PPApp As Object
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide

' On Error Resume Next
Set PPApp = CreateObject("Powerpoint.Application")
PPApp.Visible = True
If Err.Number <> 0 Then
Err.Clear
On Error Goto ErrHandler
With PPApp
.Visible = True
' not require as it causes 2 presentations
'''' .Presentations.Add
End With
Else
On Error Goto ErrHandler
End If

With PPApp.Presentations.Add
.Slides.Add Index:=1, Layout:=ppLayoutTitle
End With

Set PPPres = PPApp.ActivePresentation
Set PPSlide = PPPres.Slides(PPApp.ActiveWindow.Selection.SlideRange.SlideIndex)
With PPPres.PageSetup
.SlideSize = ppSlideSizeCustom
.SlideWidth = 720
.SlideHeight = 576
.FirstSlideNumber = 1
.SlideOrientation = msoOrientationHorizontal
.NotesOrientation = msoOrientationVertical
End With
PPApp.ActiveWindow.ViewType = ppViewSlide
Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
PPApp.ActiveWindow.Selection.SlideRange.Shapes.SelectAll
PPApp.ActiveWindow.Selection.ShapeRange.Delete
PPSlide.Shapes.Paste.Select
PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True
MsgBox ("Don't forget to save your new PowerPoint slide.")

PPPres.Close
PPApp.Quit

ErrHandler:
Set PPSlide = Nothing
Set PPPres = Nothing
Set PPApp = Nothing
On Error Goto 0
End Sub


This verion of VBA works on my programs. Now I got to work on the next items that will improve my objective.

1. If I want to keep the Power Point open so I put the apostriphy in fron of the three lines below. and that seamed to work.


'MsgBox ("Don't forget to save your new PowerPoint slide.")

'PPPres.Close
'PPApp.Quit


2. I will have Power Point open and the first slide created. I need the sub to add selected cell in excel to the next slide. and so on. These slides will be during periods of non data enter in the spreadsheet.

3 I need to max the size if the slide and make it bolder(font).

mike in wisconsin

mike31z
05-07-2007, 12:50 PM
I would like to thank everyone who looked at this and pondered.

I worked around my problem.

I had a problem copy excel into because the cell size would change on the next visit and that caused a lot of work. I install MS KB 300523 and that fixed the changing cell size. But It was still a lot of work formatting the cells or creating hyperlinks.

I tried creating a separate transfer .xls file so I could get the font size correct and the spacing on the powerpoint slide but if I created a bunch of files based on the expected need I would have to go back and cut them out of Power point caused double work.

I found a program called XPPORT that is designed to copy excel files and paste the in powerpoint. It works ok and it looks like it paste them as an image. It also resizes the image to max out the space available. I did have to create a separate transfer.xls file and for each page that I wanted to have a slide created I needed a separate worksheet (My Choice Not Application) That way I could create a slide for just the data I wanted.
I now have a file with 20 worksheets each with unique names. But It works.

Lesson Learned: Coping data into PowerPoint this has a font size in 12 or less can be done but it hard to see on a TV Monitor during a slide show.