OVH Cloud OVH Cloud

Gérer les menus en VBA

4 réponses
Avatar
mml
Bonjour,

Quelqu'un sait-il s'il est possible de modifier les menus d' Outlook par du
code VBA, soit de l'intérieur d'Outlook, soit en automation ?
Et si oui, comment...

Merci d'avance
--

4 réponses

Avatar
Geo

Bonjour,

Quelqu'un sait-il s'il est possible de modifier les menus d' Outlook par du
code VBA, soit de l'intérieur d'Outlook, soit en automation ?
Et si oui, comment...


Il faut utiliser la collection CommandBars (ce n'est pas de la tarte)
Voir cet exemple si ça correspond :
http://www.vboffice.net/sample.html?mnu=2&smp&cmd=showitem

--
A+

Avatar
mml
Merci beaucoup.
Il me semble que c'est la bonne piste, mais le mot clef CommandBar(s) est
accepté en Access 97 par exemple mais pas en Outlook 2000.

Je fouine...


"Geo" a écrit dans le message de
news:

Bonjour,

Quelqu'un sait-il s'il est possible de modifier les menus d' Outlook par
du


code VBA, soit de l'intérieur d'Outlook, soit en automation ?
Et si oui, comment...


Il faut utiliser la collection CommandBars (ce n'est pas de la tarte)
Voir cet exemple si ça correspond :
http://www.vboffice.net/sample.html?mnu=2&smp&cmd=showitem

--
A+





Avatar
Geo

Merci beaucoup.
Il me semble que c'est la bonne piste, mais le mot clef CommandBar(s) est
accepté en Access 97 par exemple mais pas en Outlook 2000.

Je fouine...


En 2003 CommandBar(s) est connu mais son application est très
différente des autres applications Office où l'on accède facilement et
directement aux menus de l'application.
Là j'ai compris que pour atteindre un menu, il faut utiliser
FindControls et connaître l'identifiant de ce qu'on cherche.

Exemple
Set myOlApp = CreateObject("Outlook.Application")
Set Barres =
myOlApp.ActiveExplorer.CommandBars.FindControls(msoControlPopup, , ,
True)
Barres contient l'ensemble des commandes des menus :
------------------
Fichier
Edition
Affichage
Atteindre
Outils
Actions
?
Microsoft Office
--------------------

je ne sais pas d'où sort la dernière.
J'ai donc l'impression que la solution dépend de ce que vous voulez
faire : ajouter (ou supprimer) un menu, un bouton ....

--
A+

Avatar
mml
J'ai réussi à créer un nouveau bouton dans une nouvelle barre.

Mon problème, maintenant est de lui affecté du code...


Voici le code pour créer le bouton et la barre :
=============================================== Private Button As Office.CommandBarButton

Public Sub CreeBarreEtBouton()
Dim oExplorer As Outlook.Explorer
Set oExplorer = Application.ActiveExplorer
Set Button = CreateCommandBarButton(oExplorer.CommandBars)
End Sub

Private Function CreateCommandBarButton(oBars As Office.CommandBars) As
Office.CommandBarButton
On Error Resume Next
Dim oMenu As Office.CommandBar
Dim oBtn As Office.CommandBarButton
Const BAR_NAME As String = "MaBarre"
Const CMD_NAME As String = "MonBouton"

Set oMenu = oBars(BAR_NAME)
If oMenu Is Nothing Then
Set oMenu = oBars.Add(BAR_NAME, msoBarTop, , True)
Set oBtn = oMenu.Controls.Add(msoControlButton, , CMD_NAME, , True)
oBtn.Caption = CMD_NAME
oBtn.Tag = CMD_NAME
Else
Set oBtn = oMenu.FindControl(, , CMD_NAME)
If oBtn Is Nothing Then
Set oBtn = oMenu.Controls.Add(msoControlButton, , CMD_NAME, , True)
End If
End If
oMenu.Visible = True
Set CreateCommandBarButton = oBtn
End Function
===========================================================
Si quelqu'un voit comment lui associer du code sur évènement "on
click".......




"Geo" a écrit dans le message de
news:

Merci beaucoup.
Il me semble que c'est la bonne piste, mais le mot clef CommandBar(s)
est


accepté en Access 97 par exemple mais pas en Outlook 2000.

Je fouine...


En 2003 CommandBar(s) est connu mais son application est très
différente des autres applications Office où l'on accède facilement et
directement aux menus de l'application.
Là j'ai compris que pour atteindre un menu, il faut utiliser
FindControls et connaître l'identifiant de ce qu'on cherche.

Exemple
Set myOlApp = CreateObject("Outlook.Application")
Set Barres > myOlApp.ActiveExplorer.CommandBars.FindControls(msoControlPopup, , ,
True)
Barres contient l'ensemble des commandes des menus :
------------------
Fichier
Edition
Affichage
Atteindre
Outils
Actions
?
Microsoft Office
--------------------

je ne sais pas d'où sort la dernière.
J'ai donc l'impression que la solution dépend de ce que vous voulez
faire : ajouter (ou supprimer) un menu, un bouton ....

--
A+