Hallo,
Für eine Archivlösung möchte ich Notes-Dokumente prüfen, ob Anhänge vorhanden sind, welche vom Archivsystem nicht verarbeitet werden können. Hierfür habe ich eine Liste mit Dateinamenserweiterungen (.doc, .txt, ...) hinterlegt, welche verarbeitet werden können. Nun sollen also alle Anhänge mit der Liste verglichen und eine Fehlermeldung ausgegeben werden, wenn ein Dokument einen Dateianhang enthält, dessen Typ nicht in der Liste hinterlegt ist.
Mein Problem ist nun, dass manchmal Notes intern einen anderen Namen als den Dateinamen vergibt. Wenn man beispielsweise einem Dokument zweimal die selbe Datei anhängt, so behält der erste Anhang seinen Dateinamen, der zweite bekommt aber einen anderen (ATTxxxxx). Somit kann ich die Dateiendung aber nicht mehr überprüfen. Dies kann man in den Feldeigenschaften bei $File nachvollziehen. Trotzdem muss der ursprüngliche Dateiname noch irgendwo vorhanden sein, da im Eigenschaftsdialog des Anhangs noch der richtige Name der Datei angezeigt wird.
Weiß jemand, wie ich an diesen Dateinamen herankommen kann?
Vielen Dank!
Hier die bisherige Prüfung:
...
'Anhänge prüfen...
Dim vAttachNames As Variant
Dim vAllowedFileExtensions As Variant
Dim bAllow As Integer
vAllowedFileExtensions = {Liste der erlaubten Dateinamenserweiterungen}
vAttachNames = Evaluate(|@AttachmentNames|, doc )
If vAttachNames(0) <> "" Then
'Schleife über alle Anhänge
Forall attachname In vAttachNames
bAllow = False
'Schleife über alle erlaubten Dateinamenserweiterungen
Forall fileext In vAllowedFileExtensions
If Lcase(fileext) = "." & Strrightback( Lcase(attachname), ".",1 ) Then
bAllow = True
Exit Forall
End If
End Forall
If bAllow = False Then
'Anhang ist nicht in den erlaubten
Dateinamenserweiterungen gefunden worden ==> Fehler und Abbruch
Messagebox "Die Datei " & attachname & " kann
nicht archiviert werden." & Chr$(13) & "Der Vorgang wird abgebrochen.", 64, "Archivierung"
Call doc.RemoveItem( "Archiv_flag" )
Continue = False
Exit Sub
End If
End Forall
End If
...
Alles anzeigen