Sie können ein Makro für die Sortierung verwenden, wenn die gewünschte Eigenschaft im Fenster "Sortieren" nicht verfügbar ist.
Vorbereitende Schritte
Anmerkung: Dieser Artikel befasst sich nur mit Vorlagen, die in
Microsoft Word-Dokumenten generiert werden.
Informationen zu diesem Vorgang
Die Vorteile der Verwendung eines Makros zur Sortierung sind folgende:
- Das Makro kann in jeder Tabelle in der Vorlage ausgeführt werden.
- Wenn eine Tabelle den Kommentar <RPE_SORT> verwendet, wird diese Tabelle sortiert.
- Tabellen, die den Kommentar <RPE_SORT> verwenden, werden nicht sortiert.
- Der Kommentar <RPE_SORT> kann in der abschließenden Ausgabe gelöscht werden.
Vorgehensweise
- Fügen Sie in den zu sortierenden Spalten eine Makrobezeichnung hinzu:
- Öffnen Sie die Vorlage in der Anwendung "Document Studio".
- Fügen Sie in der Kopfzeilenzelle der zu sortierenden Spalte ein Kommentarelement
hinzu.
- Klicken Sie doppelt auf das Kommentarelement und geben Sie <RPE_SORT> ein.
- Wiederholen Sie den Vorgang für jede Tabelle in der zu aktualisierenden Vorlage.
- Gehen Sie wie folgt vor, um das Makro zu erstellen:
- Öffnen Sie Microsoft Word.
- Kopieren Sie das folgende Script und fügen Sie es in die Datei ein:
' Macro: sort tables
' This macro is provided as is with no implicit or explicit support from IBM.
Sub sortTables()
Dim tbl As Table
' sort each table
For Each tbl In ActiveDocument.Tables
' determine if the table has header
Dim hasheader As Boolean
hasheader = False
If tbl.Rows.First.HeadingFormat = True Then
hasheader = True
End If
' get the column to do the sorting on. The column is identified by a comment with the "<RPE_SORT>" content in its first cell
Dim hcell As Cell
Dim index As Integer
pos = 0
For Each hcell In tbl.Rows.First.Cells
hcell.Select
If Selection.Comments.Count > 0 Then
If Selection.Comments.Item(1).Range.Text = "<RPE_SORT>" Then
pos = hcell.ColumnIndex
' Delete the comment - remove comment from the line below
' Selection.Comments.Item(1).Delete
Exit For
End If
End If
Next
' sorts the table using the found column
If pos > 0 Then
Dim fldnum As String
fldnum = "Column " + CStr(pos)
Debug.Print "Sorting on: "; fldnum
tbl.Select
Selection.Sort ExcludeHeader:=hasheader, FieldNumber:=fldnum, SortFieldType:=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending
End If
Next
End Sub
- Speichern Sie die Datei mit der Erweiterung .dot.
- Fügen Sie das Makro zur Dokumentspezifikation hinzu und generieren Sie die Ausgabe:
- Öffnen Sie, wenn bereits vorhanden, die Dokumentspezifikation, oder erstellen Sie eine in der Anwendung "Launcher".
- Blenden Sie den Eintrag Output ein und klicken Sie mit der rechten Maustaste auf Target: Word. Wählen Sie dann Ausgabe konfigurieren aus.
- Klicken Sie für Stylesheet (Formatvorlage)
auf Durchsuchen, um das Makro
.dot, das Sie erstellt haben, zu lokalisieren.
- Geben Sie für Macro den Namen des Makros ein.
- Generieren Sie die Ausgabe.
Nächste Schritte
Speichern Sie das Makro, und verwenden Sie es in jeder beliebigen Dokumentspezifikation, um Daten zu sortieren.