Option Explicit
'***
Private Type typPDF
Suchwert As String
FullPath As String
Found As Boolean
End Type
'*** Wenn Suchwerte hinzukommen, dann Const-Anweisungen als auch v = Array(...) erweitern
Const A As String = "Affaire nouvelle"
Const B As String = "Avenant"
Const C As String = "Annulation"
'***
Sub main()
'*** Deklarationsteil
Dim varTypPDF() As typPDF
Dim v() As Variant
Dim i As Long
'*** Dimensionierung
v = Array(A, B, C)
ReDim varTypPDF(UBound(v)) 'sobald äussere Schleife steht; Anzahl Dateien für ReDim verwendbar
'*** Begin äussere Schleife für automatische Dateiverarbeitung
'*** innere Schleife
For i = LBound(v) To UBound(v) Step 1
varTypPDF(i).Suchwert = v(i)
varTypPDF(i).Found = FindAndFound(ActiveDocument, v(i))
Next i
'*** ab hier automatisierte Einsortierung möglich; bisher wurde aber nur das aktive Document betrachtet
For i = LBound(varTypPDF) To UBound(varTypPDF) Step 1
MsgBox "Suchwert: " & varTypPDF(i).Suchwert _
& vbNewLine & _
"Dateipfad: " & varTypPDF(i).FullPath _
& vbNewLine & _
"gefunden:" & varTypPDF(i).Found
Next i
'*** Ende äussere Schleife für automatische Dateiverarbeitung
End Sub
Function FindAndFound(ByRef wdDoc As Word.Document, ByVal sSuchString As String) As Boolean
Dim rng As Word.Range
Set rng = wdDoc.Content
With rng
Call .Find.Execute(sSuchString)
FindAndFound = .Find.Found
End With
End Function
Function openPdfAsDoc(ByVal sDateiPfad As String) As Word.Document
'*** Beim ersten Start die Sicherheitsabfrage mit JA beantworten und Checkbox "Meldung nicht mehr anzeigen..." aktivieren
Set openPdfAsDoc = Application.Documents.Open(FileName:=sDateiPfad, _
ConfirmConversions:=False, _
ReadOnly:=False, _
AddToRecentFiles:=False, _
PasswordDocument:="", _
PasswordTemplate:="", _
Revert:=False, _
WritePasswordDocument:="", _
WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto, _
XMLTransform:="", _
NoEncodingDialog:=True)
End Function
|