Makra można użyć do sortowania, gdy właściwość, która ma zostać
użyta, jest niedostępna w oknie sortowania.
Zanim rozpoczniesz
Uwaga: Ten temat ma zastosowanie wyłącznie do szablonów generowanych
w dokumentach programu Microsoft Word.
O tym zadaniu
Zalety sortowania przy użyciu makra:
- Makro można uruchomić dla dowolnej tabeli w szablonie.
- Jeśli w dowolnej tabeli użyty zostanie komentarz
<RPE_SORT>, ta tabela zostanie
posortowana.
- Tabele, które nie używają komentarza
<RPE_SORT>, nie są sortowane.
- Komentarz <RPE_SORT> może zostać usunięty
z końcowych danych wyjściowych.
Procedura
- Dodaj etykietę makra w kolumnach do posortowania:
- Otwórz szablon w aplikacji Document Studio.
- W komórce nagłówka kolumny do posortowania dodaj element Komentarz
.
- Kliknij dwukrotnie element Komentarz i wprowadź wartość <RPE_SORT>.
- Powtórz tę czynność dla każdej tabeli w szablonie do zaktualizowania.
- Utwórz makro:
- Otwórz program Microsoft Word.
- Skopiuj i wklej następujący skrypt do pliku:
' Makro: sortowanie tabel
' Makro jest dostarczane w stanie, w jakim się znajduje, bez żadnego, domniemanego lub wyraźnego, wsparcia ze strony firmy IBM.
Sub sortTables()
Dim tbl As Table
' Sortowanie poszczególnych tabel
For Each tbl In ActiveDocument.Tables
' Określanie, czy tabela ma nagłówek
Dim hasheader As Boolean
hasheader = False
If tbl.Rows.First.HeadingFormat = True Then
hasheader = True
End If
' Pobieranie kolumny do posortowania. Kolumna jest identyfikowana za pomocą łańcucha <RPE_SORT> w pierwszej komórce.
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
' Usunięcie komentarza z wiersza znajdującego się poniżej wiersza
' Selection.Comments.Item(1).Delete
Exit For
End If
End If
Next
' Sortowanie tabeli według znalezionej kolumny
If pos > 0 Then
Dim fldnum As String
fldnum = "Kolumna " + CStr(pos)
Debug.Print "Sortowanie według: "; fldnum
tbl.Select
Selection.Sort ExcludeHeader:=hasheader, FieldNumber:=fldnum, SortFieldType:=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending
End If
Next
End Sub
- Zapisz plik z rozszerzeniem .dot.
- Dodaj makro do specyfikacji dokumentu i wygeneruj
dane wyjściowe:
- Otwórz specyfikację dokumentu, jeśli już istnieje, lub utwórz ją w
aplikacji Launcher.
- Rozwiń pozycję Dane wyjściowe, kliknij prawym przyciskiem myszy opcję Cel:
Word, a następnie wybierz opcję Konfiguruj dane wyjściowe.
- Dla opcji Arkusz stylów kliknij przycisk
Przeglądaj, aby znaleźć utworzone makro
.dot.
- W polu Makro wpisz nazwę makra.
- Wygeneruj dane wyjściowe.
Co dalej
Makro można zapisać i używać go ponownie w dowolnej specyfikacji
dokumentu do sortowania danych.