Comment ajouter un bouton dans le menu (Shell) de VBA
1 réponse
Emile
Bonjour à tous,
Je souhaite qu'à l'ouverture d'Excel (& Word) il se créer une nouvelle icône
sur VBA, s'effaçant à la fermeture...
Je tourne autour de ce modèle, mais sans succès :-(
(je reçois l'erreur suivant: Erreur d'éxécution '6068' Accès programmatique
à Visual Basic Project n'est pas approuvé)
Quelqu'un pourrait m'expliquer ou est l'erreur ?
Je vous remercie d'avance pour votre aide cordialement.
--
Emile
-------------------------------------------
Module de Classe - Classe1
Public WithEvents vbeBtnEvents As CommandBarButton
Private Sub vbeBtnEvents_Click(ByVal Btn As Office.CommandBarButton,
CancelDefault As Boolean)
On Error Resume Next
'lance la macro affectée à la propriété OnAction du bouton
Application.Run Btn.OnAction
CancelDefault = True
End Sub
Public Sub AddLesMenus()
'Ajoute le nouvel outil à VBA qui se génère à l'ouverture de l'application.
Et s'annule à la sortie.
Dim objCmdBar As CommandBar
Dim ctlTopMenu As CommandBarButton
SupprMenu
Set clickBtn = New Classe1
Set clickBtn.vbeBtnEvents = ctlTopMenu
Set ctlTopMenu = Application.VBE.CommandBars("Tools").Controls.Add(1)
With ctlTopMenu
.Caption = "Ouvre VBScroll"
.BeginGroup = True
.FaceId = 25
.OnAction = " VBScroll"
End With
Set clickBtn = New Classe1
Set clickBtn.vbeBtnEvents = ctlTopMenu
End Sub
-----------------------------------------------
Sub SupprMenu()
'Procédure d'annulation d'un bouton de contrôle dans une barre d'outils.
On Error Resume Next
Application.VBE.CommandBars("Tools").Controls("Ouvre VBScroll").Delete
Set clickBtn = Nothing
End Sub
------------------------------------------------
Sub LanceVBScroll()
'Premets de lancer le programme auquel l'on à attribué 'le bouton (voir
ci-dessus) depuis une application.
Dim RetVal
' Application.VBE.MainWindow.Visible = True
RetVal = Shell("C:\Program Files\VBScroll\VBScroll.exe", 1)
End Sub