Tôi đang phát triển bổ trợ PowerPoint và muốn tạm thời vô hiệu hóa một số điều khiển Ribbon trong khi ứng dụng bổ trợ là chạy.Tùy chỉnh Dải băng PowerPoint lúc Chạy-Thời gian
tôi đã phát triển một giải pháp mà làm việc như mong đợi khi các Add-In là kích hoạt, nhưng điều này là không thực sự đầy đủ, bởi vì nó vô hiệu hóa một số điều khiển thông dụng, như SlideMaster, SlideSorter vv
tôi đang sử dụng PowerPoint 2010.
đây là một XML mẫu mà là nổi hình thành:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon startFromScratch="false">
<tabs>
<tab idMso="TabView">
<group idMso="GroupMasterViews" getVisible="GetVisible"/>
</tab>
</tabs>
</ribbon>
</customUI>
đây là một callback mẫu, lấy từ this SO answer:
Sub GetVisible(control As IRibbonControl, ByRef returnedVal As Boolean)
If TrapFlag Then
returnedVal = False ' control is hidden
Else:
returnedVal = True ' control is not hidden
End If
End Sub
Khi tôi tìm đến View
ribbon, một cảnh báo thông báo với tôi rằng:
vĩ mô không thể tìm thấy hoặc đã bị vô hiệu vì các thiết lập bảo mật của bạn.
Có lẽ đây là tham chiếu đến số GetVisible
macro? thiết lập macro của tôi là:
- Enable tất cả các macro (không khuyến khích)
- ủy thác quyền truy cập vào các VBA mô hình đối tượng dự án
tôi đã phải vật lộn với những gì tôi đã tìm thấy cho đến nay nhưng cho đến nay không thể để thực hiện các đề xuất. Hầu hết các câu trả lời đều dành riêng cho Excel. Tôi đã không thực sự tìm thấy bất cứ điều gì cụ thể cho PowerPoint, nhưng figured nó không phải là terribly khó khăn để cổng mã từ một ứng dụng khác, như tôi đã làm điều này cho nhiều thứ khác trong VBA.
Tôi cũng đã thử phương pháp this, nhưng SetCustomUI
không có sẵn trong PowerPoint ở cấp độ Application
hoặc Presentation
, có lẽ nó là duy nhất hoặc chỉ áp dụng cho Visual Studio?