我有一個PPT插件,如果某個ViewType不被維護,可能會失敗。有沒有辦法在Powerpoint VBA中禁用CommandBar控件?
我沒有看到任何PPTEvent,我可以捕捉變化並阻止它(儘管如果這是可能的,請指教!)。所以我一直在玩Ribbon/CommandBars試圖禁用或隱藏與ViewType有關的某些控件。
我通過Id
確定了控件,我試圖將它們的.Visible
屬性設置爲False
,或者替代爲.Enabled = False
,但這兩者似乎都沒有任何影響。控件仍然可見,點擊它們仍然執行。
這個例子我會嘗試禁用Slide Sorter
控件。這樣可以防止VBE從Execute
開始,但是它確實不會而不是只要用戶仍然可以點擊它,仍然會執行按鈕的操作。
Sub DisableViewChange()
Dim cBar As CommandBar
Dim ctrl As CommandBarControl
Set cBar = CommandBars("View")
Set ctrl = cBar.FindControl(Id:=738)
ctrl.Visible = True
ctrl.Enabled = False
Set btn = ctrl
btn.Execute
Set cBar = Nothing
Set btn = Nothing
Set ctrl = Nothing
End Sub
更新,包括我想元素的圖片禁用/隱藏/刪除:
您可以加入屏幕截圖呈現視圖類型和要關閉控制?我沒有運行PP的英文版本,而且更容易得到你的情況。 –
@KazJaw查看上面的截圖,讓我知道如果這是足夠的信息。 –
謝謝,現在讓我想想:) –