XL 2016 Récupérer certains information des fichiers dans un répertoire

  • Initiateur de la discussion Initiateur de la discussion blord
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

blord

XLDnaute Impliqué
Bonjour tout le monde,
Est-ce que vous savez s'il est possible de récupérer les propriétés "Nombre de mots" et "Page" pour un fichier WORD dans un répertoire ?

Répertoire.jpg


J'ai plusieurs milliers de fichiers WORD pour lesquels ont doit compiler le nombre de mots et de pages afin de faire une évaluation pour une traduction et ces informations seraient la base de cette évaluation.

Merci d'avance à tous pour votre contribution !

Blord
 
Bonjour à tous, kiki29,

Merci, grâce à ton retour, j'ai réussi à concevoir mon code qui me permet de récupérer les propriétés requises.

VB:
Sub NombrePagesMotsDocumentWord()
    Dim objWrd As Object
    Dim objDoc As Object
 
    Dim DerLig As Long
    Dim i As Long
    
    DerLig = ThisWorkbook.Worksheets("data").Range("A" & ThisWorkbook.Worksheets("data").Rows.Count).End(xlUp).Row
    
    For i = 2 To DerLig Step 1
        Set objWrd = CreateObject("Word.Application")
        objWrd.Visible = False
        
        Set objDoc = objWrd.Documents.Open(ThisWorkbook.Worksheets("data").Cells(i, 3).Value, ReadOnly:=True)
        
        ThisWorkbook.Worksheets("data").Cells(i, 4).Value = objDoc.ComputeStatistics(wdStatisticPages)
        ThisWorkbook.Worksheets("data").Cells(i, 5).Value = objDoc.ComputeStatistics(wdStatisticWords)
        
        objDoc.Close SaveChanges:=wdDoNotSaveChanges
        objWrd.Quit
        Set objWrd = Nothing
    Next i
End Sub

Merci à tous et bonne journée !
Blord
 
Salut, à tester plus à fond
VB:
Private Sub ListeDocumentProperties(sFichier As String, iRowDep As Long)
Dim docProperty As Object
Dim oWrd As Object
Dim oDoc As Object

    Set oWrd = CreateObject("Word.Application")
    Set oDoc = oWrd.Documents.Open(Filename:=sFichier, ReadOnly:=True)
    oWrd.Visible = False

    On Error Resume Next
    oDoc.Repaginate
    For Each docProperty In oDoc.BuiltinDocumentProperties
        With docProperty
            If .Name = "Number of pages" Then ShParam.Cells(iRowDep, 3) = .Value
            If .Name = "Number of words" Then ShParam.Cells(iRowDep, 4) = .Value
        End With
    Next docProperty

    oDoc.Close False
    
    Set oDoc = Nothing
    Set oWrd = Nothing
End Sub
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
937
Retour