Benötige mal eine großen Gedankenanstoß.
Irgendwas mache ich bei mir im IF-Befehl falsch.
Folgenden Code habe ich:
Public Sub vba_test(olMail As MailItem)
Dim Ziel As String
Dim Ziel_2 As String
Dim Datei As String
Dim Anlage As Attachments
Dim i As Integer, j As Integer
Dim sDatei As String
Dim zDatei As String
Dim FB(8) As String
Dim FB_Ziel(8) As String
'### Suchbegriffe ###
FB(1) = "DN T"
FB(2) = "DNT"
FB(3) = "EHS"
FB(4) = "EB"
'### Ziel ORT ###
FB_Ziel(1) = "P:\Tagesbedarf\2017\03\DNT\"
FB_Ziel(2) = "P:\Tagesbedarf\2017\03\DNT\"
FB_Ziel(3) = "P:\Tagesbedarf\2017\03\EHS\"
FB_Ziel(4) = "P:\Tagesbedarf\2017\03\EB\"
'### Zentraler Speicherort###
FB_Ziel(0) = "P:\Tagesbedarf\2017\03\Zentral\"
Set Anlage = olMail.Attachments
For i = 1 To Anlage.Count
Datei = Anlage.Item(i).FileName
For j = 1 To UBound(FB)
If InStr(1, Datei, FB(j), vbTextCompare) > 0 Then
Ziel_2 = FB_Ziel(0)
'Ziel = FB_Ziel(j)
'If Dir(Ziel, vbDirectory) = "" Then Exit Sub
'zDatei = Ziel & Anlage.Item(i).FileName
'sDatei = Ziel & Datei
'If Dir(sDatei) "" Then Kill (sDatei)
'Anlage.Item(i).SaveAsFile zDatei
If Dir(Ziel_2, vbDirectory) = "" Then Exit Sub
zDatei = Ziel_2 & Anlage.Item(i).FileName
sDatei = Ziel_2 & Datei
If Dir(sDatei) "" Then Kill (sDatei)
Anlage.Item(i).SaveAsFile zDatei
End If
Next j
Next i
End Sub
Mein Problem ist das alle Dateien in Ordner "Ziel_2" gespeichert werden, es scheint so als wenn den InStr gar keine Funktion hat.Aktiviere ich aber "Ziel" wieder werden die Dateien einmal in die richtige Ordner gespeichert, "Ziel_2" enthält trotzdem wieder alle Dateien also funktioniert der InStr "halb"?!?!.
Was mache ich falsch?
Vielen Dank schonmal für die Antworten