Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/10/2011, 12h42   #1
Candidat au titre de Membre du Club
 
Steve
Inscription : avril 2009
Messages : 23
Détails du profil
Informations personnelles :
Nom : Steve
Localisation : France, Bas Rhin (Alsace)

Informations forums :
Inscription : avril 2009
Messages : 23
Points : 11
Points : 11
Par défaut Macro compatible Word 2003/2010 et personnalisation de l'IHM

Hello,

J'ai développé une macro sous Word 2003 (dans un .dot) qui doit aussi fonctionner avec Word 2010.

La macro, entre autre, va créer à la volée des CommandBar avec des icones. Ca marche très bien avec W2003.

Avec W2010, ça marche aussi, mais le rendu n'est pas très beau. Les commands bar sont ajouté dans l'onglet "Addins" de Word.

J'ai un peu de mal à saisir les différentes options qui s'offrent à moi pour avoir une vrai personnalisation du ruban.

Un peu d'aide?

Les pistes que j'envisage :
* on laisse comme ça (pas beau mais ça marche)
* on crée, en VBA, une macro qui va modifier à la volée le fichier "word.officeUI" dans le profil de l'utilisateur (avec la complexité de localiser le fichier, plus la fusion de fichiers XML qui va avec)
* on crée, un fichier .dotm qui contient toutes les personnalisations et que les personnalisations de l'IHM (mais je ne suis pas sur que ce soit dasn le dotm que la personnalisation est stockée)

merci
steveb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 13h24   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 333
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 333
Points : 29 239
Points : 29 239
Citation:
Envoyé par steveb Voir le message
Hello,

La macro, entre autre, va créer à la volée des CommandBar avec des icones. Ca marche très bien avec W2003.

Avec W2010, ça marche aussi, mais le rendu n'est pas très beau. Les commands bar sont ajouté dans l'onglet "Addins" de Word.
On ne peut pas changer grand chose, surtout au départ de 2003. On obient un onglet Complément.
Citation:
J'ai un peu de mal à saisir les différentes options qui s'offrent à moi pour avoir une vrai personnalisation du ruban.

Un peu d'aide?
Citation:
Les pistes que j'envisage :
* on laisse comme ça (pas beau mais ça marche)
* on crée, en VBA, une macro qui va modifier à la volée le fichier "word.officeUI" dans le profil de l'utilisateur (avec la complexité de localiser le fichier, plus la fusion de fichiers XML qui va avec)
* on crée, un fichier .dotm qui contient toutes les personnalisations et que les personnalisations de l'IHM (mais je ne suis pas sur que ce soit dasn le dotm que la personnalisation est stockée)

merci
Première chose, le dotm n'est pas exploitable au départ de 2003, le dotx non plus.

Word.OfficeUI va agir sur toute l'interface et pas sur un seul document, pour n'avoir qu'un seul document impacté par ce changement, il faut modifier le XML du document.

http://arkham46.developpez.com/artic...sistant-ruban/
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 14h06   #3
Candidat au titre de Membre du Club
 
Steve
Inscription : avril 2009
Messages : 23
Détails du profil
Informations personnelles :
Nom : Steve
Localisation : France, Bas Rhin (Alsace)

Informations forums :
Inscription : avril 2009
Messages : 23
Points : 11
Points : 11
Citation:
Envoyé par Heureux-oli Voir le message
On ne peut pas changer grand chose, surtout au départ de 2003. On obient un onglet Complément.



Première chose, le dotm n'est pas exploitable au départ de 2003, le dotx non plus.

Word.OfficeUI va agir sur toute l'interface et pas sur un seul document, pour n'avoir qu'un seul document impacté par ce changement, il faut modifier le XML du document.

http://arkham46.developpez.com/artic...sistant-ruban/

La macro cible 2003 est encore en cours de développement... je suis ouvert à toute forme de suggestion.

On peut très bien, avec 2003, creer un .dot avec le code (compatible avec 2010 d'ailleur), puis, un .dot avec une macro qui fait un truc du genre "IF version = 2003 THEN RegisterToolbar".

Par contre, c'est avec 2010 que je ne vois pas trop comment faire (les settings du ruban sans gérés applis par applis non ?)



[Edit] Ca y'est j'ai compris. Dans un fichier dotm, il y'a le part Ribbon14.xml qui contient la version custom de l'ihm. J'ai du coup pu mettre dans ma macro un module du genre :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
' module UiSetup
Option Explicit
 
Public Sub SetupUI()
    If Val(Application.version) >= 12 Then
        UI_Setup_2010.RegisterRibbonCommands
    Else
        UI_Setup_2003.RegisterCommandBar
    End If
 
End Sub
 
' module Ui_Setup_2010
Option Explicit
 
Sub RegisterRibbonCommands()
    Application.AddIns.Add ("full path to my.dotm"))
End Sub
 
' module Ui_Setup_2003
Public Sub RegisterXRefCommandBar()
 ' creating the command bars
' ...
end sub
steveb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 15h59   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 333
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 333
Points : 29 239
Points : 29 239
Salut,

Ça devrait le faire, je n'avais jamais pensé à cette voie.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h25.


 
 
 
 
Partenaires

Hébergement Web