Glenn suchte nach einer Möglichkeit, ein Dokument zu „markieren“, um anzuzeigen, dass es archiviert wurde. Außerdem mussten viele solcher Dokumente markiert werden, sodass eine Möglichkeit zum Laden, Hinzufügen der Marke und erneuten Speichern wünschenswert war.

Es gibt viele verschiedene Möglichkeiten, wie eine solche Aufgabe erreicht werden kann. Die Unterschiede werden genau dadurch bestimmt, wie die „Markierung“ in einem Dokument platziert wird. Natürlich könnte das Wort „Archiv“ (oder eine solche Terminologie) zu einem Dokument hinzugefügt werden, dies würde jedoch das tatsächliche Erscheinungsbild des Dokuments selbst beeinflussen, was häufig unerwünscht ist.

Es gibt eine Lösung, bei der das Dokument keine sichtbaren Markierungen aufweist. Verwenden Sie die Dokumenteigenschaften. Sie können eine benutzerdefinierte Dokumenteigenschaft festlegen, die angibt, ob das Dokument archiviert wurde oder nicht. Sie können später nach der Eigenschaft suchen, um festzustellen, welche Dateien Ihren Kriterien entsprechen.

Das folgende Makro lädt alle Dokumente in ein Verzeichnis (und möglicherweise alle Unterverzeichnisse) und erstellt oder legt eine benutzerdefinierte Dokumenteigenschaft fest, die angibt, dass das Dokument archiviert wurde. In diesem Fall heißt die benutzerdefinierte Eigenschaft Archive und wird auf True (Yes)

festgelegt Bedingung.

Public Sub SetArchive()

Dim bExists As Boolean

With Application.FileSearch         .LookIn = "C:\"             ' where to search         .SearchSubFolders = True    ' search the subfolders         .FileName = "*.doc"         ' file pattern to match

' if more than one match, execute the following code         If .Execute() > 0 Then             For i = 1 To .FoundFiles.Count                 ' Open the file                 Documents.Open FileName:=.FoundFiles(i)



' Begin document changes

' See if the doc variable exists                 bExists = False                 For Each varItem In ActiveDocument.CustomDocumentProperties                     If varItem.Name = "Archive" Then                         bExists = True                         Exit For                     End If                 Next varItem

If Not bExists Then                     ' Add and set document property                     ActiveDocument.CustomDocumentProperties.Add _                       Name:="Archive", LinkToContent:=False, _                       Type:=msoPropertyTypeBoolean, Value:=True                 Else                     'Already exists, so just set it                     ActiveDocument.CustomDocumentProperties("Archive") = True                 End If

' End document changes

' Force document to be saved                 ActiveDocument.Saved = False                 ' Save and close the current document                 ActiveDocument.Close wdSaveChanges             Next i         Else             ' Could not find any DOC files             MsgBox "No files found."

End If     End With End Sub

Um das Makro zu verwenden, ändern Sie einfach die Verzeichnisspezifikation in der fünften Zeile des Makros (beginnt mit .LookIn). Sobald es ausgeführt wird, wird die Archive-Eigenschaft erstellt und in jedem der Dokumente festgelegt. Sie können die Ergebnisse anzeigen, indem Sie eine der Dateien laden und Datei | wählen Eigenschaften | Benutzerdefiniert. Die Archive-Eigenschaft sollte im Dialogfeld sichtbar sein.

Es gibt eine interessante Sache an diesem Makro. Beachten Sie, dass Sie das Speichern des Dokuments „erzwingen“ müssen, indem Sie die Eigenschaft „Gespeichert“ für das Dokument auf „Falsch“ setzen. Wenn Sie dies nicht tun, wird Ihre benutzerdefinierte Eigenschaft nicht gespeichert. Warum? Anscheinend erkennt Word eine Änderung an einer benutzerdefinierten Eigenschaft – einschließlich des Hinzufügens – nicht als Grund für das Speichern eines Dokuments. Sofern Sie die Eigenschaft „Gespeichert“ nicht auf „Falsch“ setzen, erkennt Word daher nicht, dass Änderungen am Dokument vorgenommen wurden.

Wenn Sie den benutzerdefinierten Eigenschaftsansatz zum Markieren Ihres Archivs nicht verwenden möchten, können Sie einige Änderungen an diesem Makro vornehmen, um die gewünschten Ergebnisse zu erzielen. Sie müssen lediglich den Code zwischen den Kommentaren „Dokumentänderungen beginnen“ und „Dokumentänderungen beenden“ durch die Kommentare ersetzen, die Sie für das Dokument ausführen möchten. Wenn Sie beispielsweise ein Wasserzeichen in das Dokument einfügen möchten, ersetzen Sie einfach den angegebenen Code durch Code, der das Wasserzeichen erstellt und platziert.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.

(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (1647) gilt für Microsoft Word 97, 2000, 2002 und 2003. Sie finden eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Word (Word 2007) und später) hier: