Show Comments During a Show
If you add comments in recent versions of PowerPoint
they can only be used in Edit mode. This is by design and what most people
need!
If you want to read the comments in show mode you will
need to use code to copy them and add screentips.
Here's the code you might use.
ALWAYS WORK WITH A COPY OF THE PRESENTATION!
Option Explicit
Sub Comments_in_show()
'copies comments so they appear in the show with mouse over
Dim osld As Slide
Dim oCom As Comment
Dim strComm As String
Dim oshp As Shape
Dim ohl As Hyperlink
For Each osld In ActivePresentation.Slides
Call zap(osld)
For Each oCom In osld.Comments
strComm = oCom.Author & " " & oCom.DateTime _
& vbCrLf _
& oCom.Text
Set oshp = osld.Shapes.AddShape(msoShapeFoldedCorner, oCom.Left, oCom.Top,
30, 15)
oshp.Line.ForeColor.RGB = RGB(150, 150, 150)
oshp.Line.Weight = 0.5
oshp.Fill.ForeColor.RGB = vbYellow
oshp.Tags.Add "DEL", "OK"
With oshp.TextFrame.TextRange
.Font.Size = 7
.Font.Color = vbBlack
.Text = oCom.AuthorInitials & oCom.AuthorIndex
End With
oshp.Fill.Transparency = 0.75
With oshp.ActionSettings(ppMouseClick)
.Action = ppActionHyperlink
.Hyperlink.Address = ""
.Hyperlink.SubAddress = CStr(osld.SlideID) & "," & CStr(osld.SlideIndex) &
"," & "Slide"
.Hyperlink.ScreenTip = strComm
End With
Next oCom
Next osld
End Sub
Sub zap(osld As Slide)
Dim oshp As Shape
Dim i As Integer
For i = osld.Shapes.Count To 1 Step -1
Set oshp = osld.Shapes(i)
If oshp.Tags("DEL") = "OK" Then oshp.Delete
Next i
End Sub
Sub remove_all()
'use this to delete all
Dim osld As Slide
For Each osld In ActivePresentation.Slides
Call zap(osld)
Next osld
End Sub
Don't want to code?
Here's a totally free AddIn that does the job (and
more) for you. Simply download, unzip and read the instructions text file!
DOWNLOAD THE FREEBIE
How to
use code
|