Set FSO = CreateObject("Scripting.FileSystemObject") Set f = fso.CreateTextFile(FichierLog, True) f.writeline("Traitement du répertoire : " & Directory) f.WriteLine("Généré le " & Date & " par script") f.WriteBlankLines 1 f.writeline "--" f.WriteBlankLines 1 f.Close Set f = Nothing Set Folder = FSO.GetFolder(Directory) Set FileList=Folder.Files For Each File in FileList If right(File.name,3) = "doc" Then Call TraiteDocument(Folder.path & "" & File.name, FichierLog) End If Next Set objFolders=Folder.SubFolders For each item in objFolders Set FileList = item.Files For Each File in FileList If right(File.name,3) = "doc" Then Call TraiteDocument(item.path & "" & File.name, FichierLog) End If Next Next Set fso = nothing WScript.Echo "Traitement terminé !"
Set MyFile = fso.OpenTextFile(FichLog, ForAppending) On Error Resume Next Set objWord = WScript.CreateObject("Word.Application") objWord.Documents.Open Document, ReadOnly If Err <> 0 Then On Error GoTo 0 MyFile.Writeline "Vérifier les autorisations du fichier " & Document MyFile.WriteBlankLines 1 Else On Error GoTo 0 If objWord.ActiveDocument.Fields.Count >= 1 Then MyFile.writeline "Document = " & Document MyFile.WriteBlankLines 1 MyFile.Writeline "Nb Champ(s) trouvé(s) = " & objWord.ActiveDocument.Fields.Count For Each afield In objWord.ActiveDocument.Fields MyFile.Writeline afield.Code.Text Next MyFile.WriteBlankLines 1 If objWord.ActiveDocument.Content.HyperLinks.Count = 0 Then MyFile.writeline "--" MyFile.WriteBlankLines 1 Else MyFile.writeline "Nb de lien(s) HyperText trouvé(s) = " & objWord.ActiveDocument.Content.HyperLinks.Count For Each L In objWord.ActiveDocument.Content.Hyperlinks On Error Resume Next MyFile.Writeline L.Range.Text & " - " & L.Address On Error Goto 0 Next MyFile.WriteBlankLines 1 MyFile.writeline "--" MyFile.WriteBlankLines 1 End If End If End If MyFile.close ObjWord.quit wdDoNotSaveChanges Set ObjWord = Nothing End Function
Bonsoir,
-----Message d'origine-----
Bonjour !
'Zszzz' nous a écrit ...
(...)
Mais objWord.Content.HyperLinks n'existe pas. Je suis
obligé de passer par une "Selection", mais je ne
parviens
pas à utiliser "Adress". As-tu une piste ?
objWord = Application , pas Document ! Il faut écrire
objWord.ActiveDocument.Content.Hyperlinks
Ceci répond aussi à ta question à Geo de 10:47 ...
Anacoluthe
« C'est par la séparation qu'on évalue la force des
liens. »
Set FSO = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateTextFile(FichierLog, True)
f.writeline("Traitement du répertoire : " & Directory)
f.WriteLine("Généré le " & Date & " par script")
f.WriteBlankLines 1
f.writeline "--"
f.WriteBlankLines 1
f.Close
Set f = Nothing
Set Folder = FSO.GetFolder(Directory)
Set FileList=Folder.Files
For Each File in FileList
If right(File.name,3) = "doc" Then
Call TraiteDocument(Folder.path & "" & File.name,
FichierLog)
End If
Next
Set objFolders=Folder.SubFolders
For each item in objFolders
Set FileList = item.Files
For Each File in FileList
If right(File.name,3) = "doc" Then
Call TraiteDocument(item.path & "" & File.name,
FichierLog)
End If
Next
Next
Set fso = nothing
WScript.Echo "Traitement terminé !"
Set MyFile = fso.OpenTextFile(FichLog, ForAppending)
On Error Resume Next
Set objWord = WScript.CreateObject("Word.Application")
objWord.Documents.Open Document, ReadOnly
If Err <> 0 Then
On Error GoTo 0
MyFile.Writeline "Vérifier les autorisations du
fichier " & Document
MyFile.WriteBlankLines 1
Else
On Error GoTo 0
If objWord.ActiveDocument.Fields.Count >= 1 Then
MyFile.writeline "Document = " & Document
MyFile.WriteBlankLines 1
MyFile.Writeline "Nb Champ(s) trouvé(s) = " &
objWord.ActiveDocument.Fields.Count
For Each afield In objWord.ActiveDocument.Fields
MyFile.Writeline afield.Code.Text
Next
MyFile.WriteBlankLines 1
If objWord.ActiveDocument.Content.HyperLinks.Count =
0 Then
MyFile.writeline "--"
MyFile.WriteBlankLines 1
Else
MyFile.writeline "Nb de lien(s) HyperText trouvé(s)
= " & objWord.ActiveDocument.Content.HyperLinks.Count
For Each L In
objWord.ActiveDocument.Content.Hyperlinks
On Error Resume Next
MyFile.Writeline L.Range.Text & " - " & L.Address
On Error Goto 0
Next
MyFile.WriteBlankLines 1
MyFile.writeline "--"
MyFile.WriteBlankLines 1
End If
End If
End If
MyFile.close
ObjWord.quit wdDoNotSaveChanges
Set ObjWord = Nothing
End Function
Set FSO = CreateObject("Scripting.FileSystemObject") Set f = fso.CreateTextFile(FichierLog, True) f.writeline("Traitement du répertoire : " & Directory) f.WriteLine("Généré le " & Date & " par script") f.WriteBlankLines 1 f.writeline "--" f.WriteBlankLines 1 f.Close Set f = Nothing Set Folder = FSO.GetFolder(Directory) Set FileList=Folder.Files For Each File in FileList If right(File.name,3) = "doc" Then Call TraiteDocument(Folder.path & "" & File.name, FichierLog) End If Next Set objFolders=Folder.SubFolders For each item in objFolders Set FileList = item.Files For Each File in FileList If right(File.name,3) = "doc" Then Call TraiteDocument(item.path & "" & File.name, FichierLog) End If Next Next Set fso = nothing WScript.Echo "Traitement terminé !"
Set MyFile = fso.OpenTextFile(FichLog, ForAppending) On Error Resume Next Set objWord = WScript.CreateObject("Word.Application") objWord.Documents.Open Document, ReadOnly If Err <> 0 Then On Error GoTo 0 MyFile.Writeline "Vérifier les autorisations du fichier " & Document MyFile.WriteBlankLines 1 Else On Error GoTo 0 If objWord.ActiveDocument.Fields.Count >= 1 Then MyFile.writeline "Document = " & Document MyFile.WriteBlankLines 1 MyFile.Writeline "Nb Champ(s) trouvé(s) = " & objWord.ActiveDocument.Fields.Count For Each afield In objWord.ActiveDocument.Fields MyFile.Writeline afield.Code.Text Next MyFile.WriteBlankLines 1 If objWord.ActiveDocument.Content.HyperLinks.Count = 0 Then MyFile.writeline "--" MyFile.WriteBlankLines 1 Else MyFile.writeline "Nb de lien(s) HyperText trouvé(s) = " & objWord.ActiveDocument.Content.HyperLinks.Count For Each L In objWord.ActiveDocument.Content.Hyperlinks On Error Resume Next MyFile.Writeline L.Range.Text & " - " & L.Address On Error Goto 0 Next MyFile.WriteBlankLines 1 MyFile.writeline "--" MyFile.WriteBlankLines 1 End If End If End If MyFile.close ObjWord.quit wdDoNotSaveChanges Set ObjWord = Nothing End Function