AW: Keywords bei mehreren *.doc ergänzen
22.12.2022 20:33:23
christoph.essen@gmx.de
Mein Teil ist sicherlich nicht sehr elegant programmiert... Nehme gerne Tipps an. Aber ich habe zumindest noch ergänzt, dass der Fehler angefangen wird, falls sich das Attribut in NICHT-Office Dateien nicht ändern lässt :-)
DANKE nochmals an snb
Option Explicit
Sub Titel_Keywords_Anpassen()
Dim File_Name, File_Type As String
Dim v As Integer
On Error GoTo err_exit
v = 4 ' Zeilen-Index
' Für jede Zeile
Do Until Worksheets(1).Cells(v, 1) = ""
' Nur wenn Änderungen eingetragen sind, sollen der TITEL oder die KEYWORDS neu beschrieben werden
If Worksheets(1).Cells(v, 5) "" Or Worksheets(1).Cells(v, 7) "" Then
' Welche Datei soll geöffnet werden?
File_Name = Worksheets(1).Cells(v, 3).Value
File_Type = Right(File_Name, InStr(1, StrReverse(File_Name), "."))
If File_Type "" Then 'um Ordner abzufangen, die auch in der Liste stehen können
' Für jede Zeile...
With GetObject(File_Name)
' Änderung eingetragen also gewünscht? --> Dann ändern
If Worksheets(1).Cells(v, 5).Value "" Then .BuiltinDocumentProperties("Title") = Worksheets(1).Cells(v, 5).Value
If Worksheets(1).Cells(v, 7).Value "" Then .BuiltinDocumentProperties("Keywords") = Worksheets(1).Cells(v, 7).Value
.Save
' Check ob Eintragung geklappt hat...
If Worksheets(1).Cells(v, 5).Value = .BuiltinDocumentProperties("Title") Then
Worksheets(1).Cells(v, 4).Value = .BuiltinDocumentProperties("Title")
Worksheets(1).Cells(v, 5).Value = ""
End If
If Worksheets(1).Cells(v, 7).Value = .BuiltinDocumentProperties("Keywords") Then
Worksheets(1).Cells(v, 6).Value = .BuiltinDocumentProperties("Keywords")
Worksheets(1).Cells(v, 7).Value = ""
End If
.Close
End With
End If
End If
sprung:
v = v + 1
Loop
MsgBox ("FERTIG!")
Exit Sub
' Fehlerabfangen, falls Doc.Typ nicht verändert werden kann, also für NICHT-Office Dateien
err_exit:
Worksheets(1).Cells(v, 5).Value = File_Type & " >>> keine MS-OFFICE Datei >>> Änderung geht nur in der entsprecpassenden Anwendung selbst"
Worksheets(1).Cells(v, 7).Value = File_Type & " >>> keine MS-OFFICE Datei >>> Änderung geht nur in der entsprecpassenden Anwendung selbst"
Resume sprung
End Sub