2012-05-06 75 views
0

我想以編程方式刪除用戶的筆繪圖和PowerPoint 2003/2007/2010中幻燈片的註釋,作爲發送「E」擊鍵的替代方法。刪除PowerPoint筆繪圖和註釋

我發現SlideShowView.EraseDrawing只會刪除由SlideShowView.DrawLine所作的行。

示例代碼:

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

謝謝您的回答! rjobidon

回答

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 

我懷疑你的hve砸出來的幻燈片放映模式暫時那麼爲了得到這個幻燈片放映模式下工作,返回到當前幻燈片中slideshwo模式;在用戶結束展示並選擇保留形狀之前,PPT顯然不會考慮幻燈片形狀集合中的墨水形狀部分。奇怪的。

+0

感謝史蒂夫爲您解答!是的,我們希望在實時模式下擦除筆繪圖,然後更改幻燈片或結束幻燈片放映。 – rjobidon

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