Markieren mehrerer Dokumente (Microsoft Word)
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: