Recherche de mots dans word depuis excel (rebelotte)
1 réponse
Renaud
Bonjour à toutes et à tous.
La question que je vais vous poser à certainement déjà été posée, mais ma
recherche sur MPFE, Google, et bien d'autres encore a été infructeuse
(mauvais mots clés ? .. que sais je encore).
Voici donc mon problème : J'ai moulte fichiers word dans un répertoire. Ils
sont tous semblables, et contiennent certains mots clés.
Je souhaiterai dans la mesure du possible, créer une macro sous Excel dans
laquelle je sélectionnerai avec des cases à cocher ou des listbox lesdits
mots clés la macro analyserait les fichiers de mon répertoire (amenée à
s'étoffer), et me donnerait les résultats sur une feuille de calcul (le bonus
++ serait une URL tendant vers les fichiers en question).
Voilà, si quelqu'un a un petit peu de temps pour m'aider, ou m'indiquer un
lien où je pourrais trouver mon bonheur, je le remercie d'avance
____________
Lin du Roseau
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel Pierron
Bonjour Renaud; J'ai bien peur que tu doives transfèrer tes mots clés dans la zône Commentaires pour que cela marche car je n'ai pas réussi à lire la propriété Keywords qui reste désespéremment vide. Il me semble déjà avoir évoqué ce problème sur le forum.
Sub WordMotCleList() ' Chemin de ton répertoire: Const spath$ = "C:Documents and SettingsUntelMes documents" If Dir(spath, vbDirectory) = "" Then Exit Sub Dim Headers(35), x%, y&, i&, p$, n$, oFile As Object Dim objShell As Object, oFolder As Object Set objShell = CreateObject("Shell.Application") Set oFolder = objShell.NameSpace(CStr(spath)) Application.ScreenUpdating = False Workbooks.Add For i = 0 To 35 Headers(i) = oFolder.GetDetailsOf(oFolder.Items, i) Select Case i Case 0, 9 To 14, 35 x = x + 1 Cells(1, x) = Headers(i) End Select Next y = 1 For Each oFile In oFolder.Items p = oFile.Path: n = oFile.Name If Right$(n, 4) = ".doc" Then ' Comments property = 14 / Keywords property = 35 Dim Words, u As Byte ' Liste des mots clés: Words = Array("Truc", "Machin", "Bidule") For u = 0 To 2 If InStr(1, oFolder.GetDetailsOf(oFile, 14), Words(u), 1) Then x = 0: y = y + 1 For i = 0 To 35 Select Case i Case 0, 9 To 14, 35 x = x + 1 Cells(y, x) = oFolder.GetDetailsOf(oFile, i) With ActiveSheet .Hyperlinks.Add .Range("A" & y), Hlink(p), , n, n End With End Select Next i Exit For End If Next u End If Next oFile Range("A2").Select ActiveWindow.FreezePanes = True Rows("1:1").Font.Bold = True Cells.Columns.AutoFit Range("A1").Select Set oFolder = Nothing: Set objShell = Nothing End Sub
Private Function Hlink(p As String) As String Hlink = "file:///" & Replace(Replace(p, " ", "%20"), "", "/") End Function
MP
"Renaud" a écrit dans le message de news:
Bonjour à toutes et à tous. La question que je vais vous poser à certainement déjà été posée, mais ma recherche sur MPFE, Google, et bien d'autres encore a été infructeuse (mauvais mots clés ? .. que sais je encore). Voici donc mon problème : J'ai moulte fichiers word dans un répertoire. Ils
sont tous semblables, et contiennent certains mots clés. Je souhaiterai dans la mesure du possible, créer une macro sous Excel dans laquelle je sélectionnerai avec des cases à cocher ou des listbox lesdits mots clés la macro analyserait les fichiers de mon répertoire (amenée à s'étoffer), et me donnerait les résultats sur une feuille de calcul (le bonus
++ serait une URL tendant vers les fichiers en question). Voilà, si quelqu'un a un petit peu de temps pour m'aider, ou m'indiquer un lien où je pourrais trouver mon bonheur, je le remercie d'avance ____________ Lin du Roseau
Bonjour Renaud;
J'ai bien peur que tu doives transfèrer tes mots clés dans la zône
Commentaires pour que cela marche car je n'ai pas réussi à lire la propriété
Keywords qui reste désespéremment vide. Il me semble déjà avoir évoqué ce
problème sur le forum.
Sub WordMotCleList()
' Chemin de ton répertoire:
Const spath$ = "C:Documents and SettingsUntelMes documents"
If Dir(spath, vbDirectory) = "" Then Exit Sub
Dim Headers(35), x%, y&, i&, p$, n$, oFile As Object
Dim objShell As Object, oFolder As Object
Set objShell = CreateObject("Shell.Application")
Set oFolder = objShell.NameSpace(CStr(spath))
Application.ScreenUpdating = False
Workbooks.Add
For i = 0 To 35
Headers(i) = oFolder.GetDetailsOf(oFolder.Items, i)
Select Case i
Case 0, 9 To 14, 35
x = x + 1
Cells(1, x) = Headers(i)
End Select
Next
y = 1
For Each oFile In oFolder.Items
p = oFile.Path: n = oFile.Name
If Right$(n, 4) = ".doc" Then
' Comments property = 14 / Keywords property = 35
Dim Words, u As Byte
' Liste des mots clés:
Words = Array("Truc", "Machin", "Bidule")
For u = 0 To 2
If InStr(1, oFolder.GetDetailsOf(oFile, 14), Words(u), 1) Then
x = 0: y = y + 1
For i = 0 To 35
Select Case i
Case 0, 9 To 14, 35
x = x + 1
Cells(y, x) = oFolder.GetDetailsOf(oFile, i)
With ActiveSheet
.Hyperlinks.Add .Range("A" & y), Hlink(p), , n, n
End With
End Select
Next i
Exit For
End If
Next u
End If
Next oFile
Range("A2").Select
ActiveWindow.FreezePanes = True
Rows("1:1").Font.Bold = True
Cells.Columns.AutoFit
Range("A1").Select
Set oFolder = Nothing: Set objShell = Nothing
End Sub
Private Function Hlink(p As String) As String
Hlink = "file:///" & Replace(Replace(p, " ", "%20"), "", "/")
End Function
MP
"Renaud" <Renaud@discussions.microsoft.com> a écrit dans le message de news:
6F768337-CF90-49D6-A4CD-9C529BBE8EC8@microsoft.com...
Bonjour à toutes et à tous.
La question que je vais vous poser à certainement déjà été posée, mais ma
recherche sur MPFE, Google, et bien d'autres encore a été infructeuse
(mauvais mots clés ? .. que sais je encore).
Voici donc mon problème : J'ai moulte fichiers word dans un répertoire.
Ils
sont tous semblables, et contiennent certains mots clés.
Je souhaiterai dans la mesure du possible, créer une macro sous Excel dans
laquelle je sélectionnerai avec des cases à cocher ou des listbox lesdits
mots clés la macro analyserait les fichiers de mon répertoire (amenée à
s'étoffer), et me donnerait les résultats sur une feuille de calcul (le
bonus
++ serait une URL tendant vers les fichiers en question).
Voilà, si quelqu'un a un petit peu de temps pour m'aider, ou m'indiquer un
lien où je pourrais trouver mon bonheur, je le remercie d'avance
____________
Lin du Roseau
Bonjour Renaud; J'ai bien peur que tu doives transfèrer tes mots clés dans la zône Commentaires pour que cela marche car je n'ai pas réussi à lire la propriété Keywords qui reste désespéremment vide. Il me semble déjà avoir évoqué ce problème sur le forum.
Sub WordMotCleList() ' Chemin de ton répertoire: Const spath$ = "C:Documents and SettingsUntelMes documents" If Dir(spath, vbDirectory) = "" Then Exit Sub Dim Headers(35), x%, y&, i&, p$, n$, oFile As Object Dim objShell As Object, oFolder As Object Set objShell = CreateObject("Shell.Application") Set oFolder = objShell.NameSpace(CStr(spath)) Application.ScreenUpdating = False Workbooks.Add For i = 0 To 35 Headers(i) = oFolder.GetDetailsOf(oFolder.Items, i) Select Case i Case 0, 9 To 14, 35 x = x + 1 Cells(1, x) = Headers(i) End Select Next y = 1 For Each oFile In oFolder.Items p = oFile.Path: n = oFile.Name If Right$(n, 4) = ".doc" Then ' Comments property = 14 / Keywords property = 35 Dim Words, u As Byte ' Liste des mots clés: Words = Array("Truc", "Machin", "Bidule") For u = 0 To 2 If InStr(1, oFolder.GetDetailsOf(oFile, 14), Words(u), 1) Then x = 0: y = y + 1 For i = 0 To 35 Select Case i Case 0, 9 To 14, 35 x = x + 1 Cells(y, x) = oFolder.GetDetailsOf(oFile, i) With ActiveSheet .Hyperlinks.Add .Range("A" & y), Hlink(p), , n, n End With End Select Next i Exit For End If Next u End If Next oFile Range("A2").Select ActiveWindow.FreezePanes = True Rows("1:1").Font.Bold = True Cells.Columns.AutoFit Range("A1").Select Set oFolder = Nothing: Set objShell = Nothing End Sub
Private Function Hlink(p As String) As String Hlink = "file:///" & Replace(Replace(p, " ", "%20"), "", "/") End Function
MP
"Renaud" a écrit dans le message de news:
Bonjour à toutes et à tous. La question que je vais vous poser à certainement déjà été posée, mais ma recherche sur MPFE, Google, et bien d'autres encore a été infructeuse (mauvais mots clés ? .. que sais je encore). Voici donc mon problème : J'ai moulte fichiers word dans un répertoire. Ils
sont tous semblables, et contiennent certains mots clés. Je souhaiterai dans la mesure du possible, créer une macro sous Excel dans laquelle je sélectionnerai avec des cases à cocher ou des listbox lesdits mots clés la macro analyserait les fichiers de mon répertoire (amenée à s'étoffer), et me donnerait les résultats sur une feuille de calcul (le bonus
++ serait une URL tendant vers les fichiers en question). Voilà, si quelqu'un a un petit peu de temps pour m'aider, ou m'indiquer un lien où je pourrais trouver mon bonheur, je le remercie d'avance ____________ Lin du Roseau