Accèder aux propriété d'un document WORD 2003 à partir de VBA dans EXCEL

Résolu
RoGx Messages postés 10 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 9 mars 2010 - 24 févr. 2010 à 19:50
anwarovic1989 Messages postés 4 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 6 mars 2010 - 5 mars 2010 à 21:58
Bonjour.

J'ai écrit un programme en VBA dans un document EXCEL. Ce programme ouvre un fichier WORD et importe des données dans le fichier excel. Or, il existe plusieurs formats de ce fichier WORD et pour les différencier, j'ai rajouté la propriété Version dans les documents Word. J'aimerais savoir comment accéder cette propriété à partir d'Excel VBA.

Je pense que je dois utiliser les customdocumentproperties, mais j'ai franchement tout essayé et je n'y arrive pas. Qqn aurait une idée ou un bout de code?


Merci!

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
25 févr. 2010 à 00:46
Salut
On parle bien d'une propriété nommée "Version" que tu as ajoutée toi même, c'est ça ?
Et l'exemple fourni avec l'aide de CustomDocumentProperties ne fonctionne pas ?
Une simple boucle permet de les énumérer toutes :
    Dim oProps As Object
    For Each oProps In ActiveDocument.CustomDocumentProperties
        If oProps.Name = "Version" Then
            Debug.Print "Version : "; oProps.Value
            Exit For
        End If
    Next

Comment ouvres-tu ton fichier Word ?

As-tu ajouté la référence aux objets Word dans ton classeur Excel ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
RoGx Messages postés 10 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 9 mars 2010
25 févr. 2010 à 19:44
Salut et merci de ton temps.

voici le code simplifié que j'essaie de faire fonctionner. J'obtiens toujours l'erreur d'exécution 13 "Incompatibilité de type" LORSQUE DES VARIABLES CUSTOM EXISTENT dans le fichier .doc à la ligne
For Each propCustom In WordDoc.CustomDocumentProperties
        


Si aucune variable n,existe, le code s'exécute comme il faut puisqu'il ne rentre pas dans la boucle for.

J'ai essayé ton code également, mais je pense pas qu'il puises fonctionner dans Excel (je code dans Excel et non dans Word.

Merci!

Sub test()
    
    Dim WordApp As Word.Application
    Set WordApp = CreateObject("Word.Application")
    WordApp.Visible = False
    
    Dim WordDoc As Word.Document
    Set WordDoc = WordApp.Documents.Open("f:\test.doc", , True)
    
    Dim propCustom As Word.CustomProperty
    
    Debug.Print WordDoc.CustomDocumentProperties.Count & " variables found"
    
    For Each propCustom In WordDoc.CustomDocumentProperties
        If propCustom.Name = "VersionRI" Then
            Debug.Print "VersionRI = " & propCustom.Value
            Exit For
        End If
    Next
    
    WordDoc.Close (False)
    WordApp.Quit

End Sub
0
RoGx Messages postés 10 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 9 mars 2010
25 févr. 2010 à 20:03
Comme dans ton code, je viens d'essayer de remplacer le type de propCustom seulement Object et cela semble fonctionner! Je ne comprends toutefois pas pourquoi, est-ce que mon choix de type de variable était incorrect? quel est le bon?

Merci!

Sub test()
    
    Dim WordApp As Word.Application
    Set WordApp = CreateObject("Word.Application")
    WordApp.Visible = False
    
    Dim WordDoc As Word.Document
    Set WordDoc = WordApp.Documents.Open("f:\test.doc", , True)
    
    Dim propCustom As Object
    
    Debug.Print WordDoc.CustomDocumentProperties.Count & " variables found"
    
    For Each propCustom In WordDoc.CustomDocumentProperties
        If propCustom.Name = "VersionRI" Then
            Debug.Print "VersionRI = " & propCustom.Value
            Exit For
        End If
    Next
    
    WordDoc.Close (False)
    WordApp.Quit

End Sub
0
anwarovic1989 Messages postés 4 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 6 mars 2010
5 mars 2010 à 21:58
je suis besoin de votre aide svp.... ,je vous accder a des applications word exel..sql...vb.. a partir d'une application vb
aide moiiiiiiiiiii aide moiiiiiiiii


anwar fatiane
0
Rejoignez-nous