trouver les mots clé de fichiers excel

gosselien

XLDnaute Barbatruc
Bonjour à tous,

dans Windows, il est possible - tout comme dans Excel - de mettre des mots clés, ce qui je fais depuis un moment et qui me facilite les recherches dans une longue liste de fichier exemples excel.
Je n'ai trouvé nulle part comment récupérer ces mots clés pour venir les coller dans une liste de noms de fichiers-date création-modification, chemin etc etc....

Ceci est peut être possible dans un autre langage que le vba mais impossible de trouver ça ...

Merci de me dire si quelqu'un ici a trouvé ça quelque part :)

P.
 

gosselien

XLDnaute Barbatruc
Re : trouver les mots clé de fichiers excel

OK...

dans un classeur Excel (2007 et au delà je suppose), si tu vas dans le menu Office/Préparer/propriétés, tu as la possibilité de mettre des mots clés qui concernent ce classeur; ces mots clés peuvent être lus ou encodés depuis l'exploreur de windows7 et lors d'une recherche, je mets un de ces mots et les fichiers qui ont ce mot clé apparaissent; à présent j'ai un code qui liste tous mes fichiers excel d'un répertoire donnés avec les infos citées au post#1 mais j'aurais voulu avoir aussi les mots clés qui sont attachés à chacun de ces fichiers...
Je pense que ça ne sera pas en VBA que je trouverai mais sait on jamais :)

P.
 

job75

XLDnaute Barbatruc
Re : trouver les mots clé de fichiers excel

Bonsoir gosselien, hello David,

Pas sûr d'avoir compris la demande, mais pour lister les attributs d'un fichier :

Code:
Sub ListeAttributs()
Dim a As DocumentProperty, i As Byte
For Each a In ThisWorkbook.BuiltinDocumentProperties
  i = i + 1
  Cells(i, 1) = a.Name
Next
End Sub
Bonne soirée.
 

job75

XLDnaute Barbatruc
Re : trouver les mots clé de fichiers excel

Re,

Pour avoir aussi les valeurs des attributs :

Code:
Sub ListeAttributs()
Dim a As DocumentProperty, i As Byte
On Error Resume Next
For Each a In ThisWorkbook.BuiltinDocumentProperties
  i = i + 1
  Cells(i, 1) = a.Name
  Cells(i, 2) = "Erreur..."
  Cells(i, 2) = a.Value
Next
End Sub
A+
 

gosselien

XLDnaute Barbatruc
Re : trouver les mots clé de fichiers excel

Ca semble avancer ....:D

Dans le code de JOB75, la 4eme ligne donne KEYWORDS et c'est probablement là que se trouvent les mots que je cherche.
Comment lister tout ça pour un fichier ou une série de fichier alors ?
 

job75

XLDnaute Barbatruc
Re : trouver les mots clé de fichiers excel

Re,

On peut paramétrer la macro avec une variable objet :

Code:
Sub ListeAttributs(wb As Workbook)
'---
For Each a In wb.BuiltinDocumentProperties
'---
On l'appelle quand on veut, dans une boucle si l'on veut étudier les fichiers d'un dossier.

A+
 

david84

XLDnaute Barbatruc
Re : trouver les mots clé de fichiers excel

Bonjour, salut Gérard,
Ok merci !!!

j'ai trouvé ici:(et tu m'a mis sur la bonne voie)

Il faut télécharger la DLL sur
Ce lien n'existe plus

Pourquoi faire si ton but est de trouver les mots clés ? L'utilisation de la propriété Keyword suffit non ?
Tu peux même modifier ces mots clés donc quel intérêt de charger cette dll dans ton cas (à part le fait éventuellement de vouloir absolument travailler sur des classeurs fermés) ?
A+
 
Dernière édition:

gosselien

XLDnaute Barbatruc
Re : trouver les mots clé de fichiers excel

Bonjour David84, le forum,

oups.....

oui je peux ainsi avoir les info keywords sur des fichiers fermés , ce qui évite d'ouvrir un tas de classeurs et avec le code de Job ces mêmes keywords avec le fichier ouvert.

Bon , en fait je n'y arrive pas:
je voudrais juste avoir dans un MSGBOX les keywords du fichier ouvert ...


Merci
 
Dernière édition:

david84

XLDnaute Barbatruc
Re : trouver les mots clé de fichiers excel

A toi de voir mais tu n'as en fait qu'un seul classeur ouvert en plus du classeur actif puisque tu le refermes à la fin du traitement dans ta boucle avant d'ouvrir, traiter puis refermer le suivant, etc. donc cela ne se voit même pas.

Sinon comme je vois qu'il y a des versions obsolètes j'aimerais savoir quelle version du DSOFile as-tu téléchargé puisque je vois que tu es sous Excel 2007 ?
L'as testé de ton côté ?

A+
 

gosselien

XLDnaute Barbatruc
Re : trouver les mots clé de fichiers excel

J'ai chargé DSO OLE document properties reader 2.1, c'est donc avec ça que je peux lire les keywords sur une liste de fichiers fermé, mais je cherche aussi (voir mon msg précédant, à avoir les keywords du fichier ouvert sur lequel je travaille dans une msgbox, et ça je n'y arrive pas)
 

david84

XLDnaute Barbatruc
Re : trouver les mots clé de fichiers excel

Pourtant Gérard t'a expliqué comment faire. Il suffit juste d'adapter :
Code:
Sub Test()    
infosClasseurBuiltinDocumentProperties ActiveWorkbook, "Keywords"
End Sub

Sub infosClasseurBuiltinDocumentProperties(Wb As Workbook, Propriété As String)
    MsgBox Wb.BuiltinDocumentProperties.Item(Propriété).Value
End Sub

J'ai chargé DSO OLE document properties reader 2.1, c'est donc avec ça que je peux lire les keywords sur une liste de fichiers fermé
Poste un exemple de code qui fonctionne chez toi que je puisse tester pour voir.

A+
 

gosselien

XLDnaute Barbatruc
Re : trouver les mots clé de fichiers excel

Bon, entretemps, j'ai lu l'aide :)
j'ai donc les keywords du fichier actuellement ouvert comme ceci:

Sub Prop()
MsgBox (ThisWorkbook.BuiltinDocumentProperties.Item(4))
End Sub

et pour les fermés:

' Lire et modifier les propriétés des classeurs et autres fichiers
Sub LireProprietesClasseur_DSO()
'Nécessite d'activer la référence DSO OleDocument Properties Reader 2.0
'http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q224351
Dim DSO As DSOFile.OleDocumentProperties
Set DSO = New DSOFile.OleDocumentProperties
'Attention: Le fichier doit être préalablement fermé!
On Error Resume Next
For Each mfile In Range("A2:A" & [A65000].End(xlUp).Row)
Chemin = "C:\Users\Pat\Documents\Fichiers excel\"
DSO.Open Chemin & mfile
' Last = Range("B65000").End(xlUp).Row
lig = [H65000].End(xlUp).Row + 1
'MsgBox DSO.SummaryProperties.Author & vbLf & DSO.SummaryProperties.Comments & _
DSO.SummaryProperties.Keywords
'
'Les autres propriétés:
' Cells(lig, 5) = DSO.SummaryProperties.DateCreated
' Cells(lig, 6) = DSO.SummaryProperties.DateLastPrinted
' Cells(lig, 7) = DSO.SummaryProperties.DateLastSaved
Cells(lig, 8) = DSO.SummaryProperties.Keywords
Cells(lig, 9) = mfile
DSO.Close
Next
End Sub
 

david84

XLDnaute Barbatruc
Re : trouver les mots clé de fichiers excel

J'ai testé vite fait sur une version 2007 et l'objet semble fonctionnel.
Deux points cependant concernant ton exemple :

- placer le chemin du ficher dans la boucle For...Each ne me semble pas la meilleur solution : mieux vaut utiliser une autre Sub dans laquelle tu placerais des arguments comme je l'ai proposé.

- si je comprends bien le code que tu as fourni : tu ouvres le fichier
Code:
DSO.Open
et tu le fermes après traitement
Code:
DSO.Close
donc je ne vois pas trop la différence avec l'utilisation de la propriété BuiltinDocumentProperties sur ce point précis puisque là aussi le fichier doit être ouvert pour être exploité.

A+
 

Discussions similaires

Réponses
16
Affichages
981

Statistiques des forums

Discussions
311 721
Messages
2 081 929
Membres
101 843
dernier inscrit
Thaly