2010-11-04 30 views
2

我開發了一個適用於版本2003和更早版本的PowerPoint插件,可在安裝時生成自定義命令欄/工具欄。PowerPoint VBA - 關閉時保留自定義CommandBar設置

我沒有任何困難在卸載時刪除此命令欄,但因爲它使用Auto_Close事件來執行此操作,所以每次PowerPoint關閉時都會刪除工具欄,從而阻止用戶永久定製命令行的位置。

我試着通過檢查加載項是註冊還是加載,但是Auto_Close似乎在卸載或取消註冊之前運行來進行條件刪除。

只有當卸載加載項時,如何刪除命令條的任何想法?

Sub Auto_Close() 
Dim pptAddin As AddIn 

    For Each pptAddin In AddIns 
     If pptAddin.Name = "AddInName" And _ 
      pptAddin.Registered <> msoTrue Then 
      Application.CommandBars("CommandBarName").Delete 
     End If 
    Next 

End Sub 

回答

3

這是一個好主意,你正在做的 - 在PowerPoint關閉時刪除你的CommandBar。這樣,如果發生錯誤,您的加載項不會在UI中留下無效的工件。

對於管理狀態,許多人使用GetSettingSaveSetting來讀寫VB/VBA程序的註冊表中的沙盒區域。請在此page上查找以下功能:GetSetting,SaveSetting,GetAllSettings,DeleteSetting。您可以使用這些來管理PowerPoint實例之間的加載項的CommandBar。它的使用相對簡單 - Excel的here's a tutorial同樣適用於PowerPoint。

+0

感謝您閱讀我的實際要求,當然還有幫助。非常感謝。 – variant 2010-11-04 23:14:14