Here is a macro I wrote to copy MS Project screens to PowerPoint slides.
Copy it to a MSP macro module. You can assign a shortcut key for quick
access.
Sub Copy2PP()
'---------------------------
' By RNM
' 3-Aug-2004
'------------------------------------------
Dim objPPT As New PowerPoint.Application
objPPT.Activate
objPPT.Presentations.Add WithWindow:=msoTrue
'---------------------------------------------
Set myProj = ActiveProject
Set ts = myProj.Tasks
TaskCnt = ts.Count
SelectAll
For Each t In ActiveSelection.Tasks
Scnt = Scnt + 1
Next t
TaskCnt = Scnt
' should be view count NOT task count
ProjectTitle = myProj.Title
'-------------------------------------
LPP = InputBox("Task Line per Page:", , 40)
If LPP = "" Then LPP = 40
LPP = CInt(LPP) - 1
TopLine = 1
pagecnt = 0
Do Until TopLine > TaskCnt
pagecnt = pagecnt + 1
SelectRow Row:=TopLine, Height:=LPP, rowrelative:=False
'If pagecnt = 1 Then
' EditCopyPicture ' Object:=False, ForPrinter:=0, SelectedRows:=1,
FromDate:="12/1/02 12:00 AM", ToDate:="2/1/06 12:00 AM",
ScaleOption:=pjCopyPictureShowOptions
'Else
EditCopyPicture Object:=False, forPrinter:=0, SelectedRows:=1,
ScaleOption:=pjCopyPictureShowOptions
'End If
With objPPT.ActivePresentation.Slides
SlideNo = .Count + 1
.Add Index:=SlideNo, Layout:=ppLayoutTitleOnly
End With
'-=-- Paste schedule into slide ---
With objPPT.ActivePresentation.Slides(SlideNo)
'With objPres.Slides(SlideNo)
.Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile
.Shapes(2).Left = 30
.Shapes(2).Top = 50
.Shapes(2).Width = 650
'.Height = 400
.Shapes.Title.TextFrame.TextRange.text = ProjectTitle
.Shapes.Title.TextFrame.TextRange.Font.Size = 18
.Shapes.Title.Left = 30
.Shapes.Title.Top = 10
.Shapes.Title.Width = 650
.Shapes.Title.Height = 50
End With
TopLine = TopLine + LPP + 1
Loop
MsgBox "Copy Complete"
End Sub
'=======================