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 14/12/2007, 16h46   #1
Invité de passage
 
Inscription : mars 2005
Messages : 6
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 6
Points : 1
Points : 1
Par défaut rafraichir les valeurs des propriétés inserées

Bonjour.
J'ai un document word dans lequel j'utilise des propriétés (comme titre, auteur, ...) mais ces propriétés sont définis par l'utilisateur.
J'aimerais écrire une macro qui rafraichit la valeur de ces propriétés lorsque le fichier est ouvert par word.
merci d'avance.
akkeri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2007, 23h58   #2
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Par défaut Rafraichir des valeurs

Salut,

Le plus simple est de faire des champs qui referencent ces valeurs. Pour cela, utilise la commande "Insertion-Champ"-catégorie "Résumé" (pour les valeurs standards comme le titre (Title), l'auteur (Author), les mots-clés (Keywords) et DOCPROPERTY <nom-de-la-propriete> pour les valeurs spécifiques). Pour la mise à jour, il suffit faire une macro qui fasse la mise à jour des champs lors de la sortie de Word.

Je t'envoie un code d'une macro qui effectue une sauvegarde propre (mise à jour des pages, des tables, des renvois, des n° de page...) dans Word qui devrait passer en contribution d'ici quelques jours. Le mieux est de le mettre sur un bouton de sauvegarde (à côté du bouton standard) mais tu peux aussi remplacer le menu de Word par cette macro (n'oublie pas alors les raccourcis clavier standard-CTRL+S sur PC et Pomme-S sur Mac ainsi que le bouton sauvegarder de la barre d'outils standard
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
Sub Sauvegarder()
    ' Enregistrement du document (pour éviter des pertes)
    ActiveDocument.Save
 
    'Ajout d'un signet pour se repositionner au point d'insertion au moment de la sauvegarde
    If ActiveWindow.ActivePane.View.SeekView() = 0 Then
        With ActiveDocument.Bookmarks
            .Add Range:=Selection.Range, Name:="xxx"
            .DefaultSorting = wdSortByName
            .ShowHidden = False
        End With
    End If
 
    ' Mise à jour des n° de pages (repagination en passant du mode 'Page' au mode 'Normal' ou réciproquement)
    If ActiveWindow.View.SplitSpecial = wdPaneNone Then
        ActiveWindow.ActivePane.View.Type = wdNormalView
    Else
        ActiveWindow.View.Type = wdNormalView
    End If
    If ActiveWindow.View.SplitSpecial = wdPaneNone Then
        ActiveWindow.ActivePane.View.Type = wdPageView
    Else
        ActiveWindow.View.Type = wdPageView
    End If
 
   ' Mise à jour des champs et des références
    Selection.WholeStory
    Selection.Fields.Update
 
   ' Mise à jour des tables des matières
    If ActiveDocument.TablesOfContents.Count > 0 Then
        With ActiveDocument
            .TablesOfContents(1).Update
            .TablesOfContents(1).TabLeader = wdTabLeaderDots
        End With
    End If
 
    ' Suppression du signet de positionnement (attention, il peut avoir disparu si vous étiez positionné par exemple dans la table des matières que vous venez de mettre à jour 
    If ActiveDocument.Bookmarks.Exists("xxx") Then
        Selection.GoTo What:=wdGoToBookmark, Name:="xxx"
        ActiveDocument.Bookmarks("xxx").Delete
    End If
 
    ' On sauvegarde ben oui quand même, c'est le but
    ActiveDocument.Save
End Sub
Ce code est OK, moi je vire aussi les TM9 de mes tables des matières dont je me sers pour autre chose.
Tiens-moi au courant pour savoir si le code est OK (pour je complète la contribution)
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h08.


 
 
 
 
Partenaires

Hébergement Web