Deux procédures bien pratiques pour lire les propriétés d’un fichier
WORD.
####################
RecupereInfosFichier ####################
PROCEDURE
RecupereInfosFichier(NomFichierWord)
infoRecuperees est une
chaîne=""
SI PAS
Vide ALORS
//Il existe au
moins un document dans la table.
bAllocationOk est un booléen=Faux
//Objet pour le
document
Word est
un objet OLE dynamique
//Objet
dynamique pour les informations du document
Proprietes est un objet OLE
dynamique
//récupération
de l'instance en cours s'il y en a une
Word=ObjetActif("Word.Application")
SI
Word=Null
ALORS
//Pas d'instance en cours,
allocation
Word =allouer un
objet Automation "Word.Application"
FIN
//booleen qui
indique que l'allocation est faite
bAllocationOk=Vrai
//Init des
infos
infoRecuperees = "Fichier :
"+NomFichierWord+RC
//Ouverture du
document en lecture seule
Word>>Documents>>open(NomFichierWord,OLEIgnore,OLEVrai)
//Récupéartion
des propriétés
Proprietes = Word>>ActiveDocument>>BuiltInDocumentProperties
//Récupération
des commentaires
RecuperePropriete(Proprietes,"Title","Titre
:",infoRecuperees)
RecuperePropriete(Proprietes,"Subject","Sujet
:",infoRecuperees)
RecuperePropriete(Proprietes,"Author","Auteur
:",infoRecuperees)
RecuperePropriete(Proprietes,"Keywords","Mots clés
:",infoRecuperees)
RecuperePropriete(Proprietes,"Comments","Commentaire
:",infoRecuperees)
RecuperePropriete(Proprietes,"Template","Modèle
:",infoRecuperees)
RecuperePropriete(Proprietes,"Last
Author","Dernier
enreg par :",infoRecuperees)
RecuperePropriete(Proprietes,"Revision
Number","Révision
n°:",infoRecuperees)
RecuperePropriete(Proprietes,"Application
Name","Nom
Application :",infoRecuperees)
RecuperePropriete(Proprietes,"Last Print
Date","Dernière
impression le :",infoRecuperees,Vrai)
RecuperePropriete(Proprietes,"Creation
Date","Créé le
:",infoRecuperees,Vrai)
RecuperePropriete(Proprietes,"Last Save
Time","Dernière
sauvegarde le :",infoRecuperees,Vrai)
RecuperePropriete(Proprietes,"Total
Editing Time","Temps total
d'édition :",infoRecuperees)
RecuperePropriete(Proprietes,"Number of
Pages","Nombre de
pages :",infoRecuperees)
RecuperePropriete(Proprietes,"Number of
Words","Nombre de
mots :",infoRecuperees)
RecuperePropriete(Proprietes,"Number of
Characters","Nombre de
caractères :",infoRecuperees)
RecuperePropriete(Proprietes,"Security","Sécurité
:",infoRecuperees)
RecuperePropriete(Proprietes,"Category","Cathégorie
:",infoRecuperees)
RecuperePropriete(Proprietes,"Format","Format
:",infoRecuperees)
RecuperePropriete(Proprietes,"Manager","Responsable
:",infoRecuperees)
RecuperePropriete(Proprietes,"Company","Société
:",infoRecuperees)
RecuperePropriete(Proprietes,"Number of
Bytes","Taille
(octets) :",infoRecuperees)
RecuperePropriete(Proprietes,"Number of
Lines","Nombre de
lignes :",infoRecuperees)
RecuperePropriete(Proprietes,"Number of
Paragraphs","Nombre de
paragraphes :",infoRecuperees)
RecuperePropriete(Proprietes,"Number of
Slides","Nombre de
slides :",infoRecuperees)
RecuperePropriete(Proprietes,"Number of
Notes","Nombre de
notes :",infoRecuperees)
RecuperePropriete(Proprietes,"Number of
Hidden Slides","Nombre de
slides cachés :",infoRecuperees)
RecuperePropriete(Proprietes,"Number of
Multimedia Clips","Nombre de
Clips Multimedia :",infoRecuperees)
//Libération de
l'objet dynamique
libérer
Proprietes
Word>>Documents>>close(OLEFalse)
Word>>Quit()
libérer
Word
SINON
infoRecuperees=""
FIN
RENVOYER
infoRecuperees
####################
RecuperePropriete ####################
PROCEDURE
RecuperePropriete(ObjProprietes,ProprieteARecup="Comments",Libelle="Commentaires",...
ChaineAAjouter="",Date=Faux)
ChTemp est une
chaîne
//En cas d'échec
de récupération de la propriété (propriété non renseignée)
QUAND
EXCEPTION
RENVOYER
""
FIN
SI Date =
Faux
ALORS
//Récupération
de la propriété demandé
ChaineAAjouter+=RC+Libelle+(ObjProprietes>>Item(ProprieteARecup)>>Value())
SINON
ChTemp
= (ObjProprietes>>Item(ProprieteARecup)>>Value())
ChaineAAjouter+=RC+Libelle+FormatDate(ChTemp)
FIN