我希望以编程方式在PowerPoint 2003/2007/2010中删除幻灯片上的用户笔画和注释,作为发送“E”键击的替代方法。
我发现SlideShowView.EraseDrawing
只会删除SlideShowView.DrawLine
生成的行。
示例代码:
PowerPoint.Application.ActivePresentation.SlideShowSettings.Run.View.EraseDrawing
感谢您的回答! rjobidon
答案 0 :(得分:0)
您是否希望在停止幻灯片放映并选择保留绘图后删除它?在这种情况下,请在要删除图纸的任何幻灯片上调用下面的EraseInkOnSlide函数。
Sub TestMe()
EraseInkOnSlide ActivePresentation.Slides(1)
End Sub
Sub EraseInkOnSlide(oSl As Slide)
' Erases any INK shapes drawn by the user and
' retained when the user quits the slide show
Dim oSh As Shape
Dim x As Long
With oSl.Shapes
For x = .Count To 1 Step -1
If .Item(x).Type = 23 Then
.Item(x).Delete
End If
Next
End With
End Sub
我怀疑你必须暂时退出幻灯片放映模式,然后以幻灯片模式返回到当前幻灯片,以便在幻灯片放映模式下工作;在用户结束演出并选择保留形状之前,PPT显然不认为墨水形状是幻灯片形状集合的一部分。怪异。
答案 1 :(得分:0)
这使用户可以选择保留或删除墨迹,然后返回到幻灯片放映视图中的原始幻灯片。仍然不是你所追求的,真的,但它与我迄今为止所能达到的一样接近:
Private Sub CommandButton1_Click()
Dim x As Long
x = SlideShowWindows(1).View.Slide.SlideIndex
With SlideShowWindows(1)
.View.Exit
End With
With ActivePresentation
.SlideShowSettings.Run
End With
SlideShowWindows(1).View.GotoSlide (x)
End Sub