0

我想以编程方式擦除 PowerPoint 2003/2007/2010 中幻灯片上的用户笔画和注释,以替代发送“E”键击。

我发现SlideShowView.EraseDrawing只会擦除由SlideShowView.DrawLine.

示例代码:

PowerPoint.Application.ActivePresentation.SlideShowSettings.Run.View.EraseDrawing

感谢您的回答!罗比东

4

2 回答 2

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
于 2012-05-07T14:54:02.917 回答
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

我怀疑您必须暂时退出幻灯片放映模式,然后以 slideshwo 模式返回当前幻灯片,才能使其在幻灯片放映模式下工作;PPT 显然不考虑幻灯片形状集合中的墨水形状部分,直到用户结束显示并选择保留形状。诡异的。

于 2012-05-06T22:05:57.437 回答