Řazení pomocí maker pro dokumenty Microsoft Word

Makro použijte k řazení, není-li vlastnosti, kterou byste chtěli použít, v okně pro řazení k dispozici.

Než začnete

Poznámka: Toto téma platí pouze pro šablony, které byly vygenerované do dokumentů Microsoft Word.

Informace o této úloze

Výhody použití makra k řazení:

Postup

  1. Přidejte jmenovku makra ke sloupcům, které se mají seřadit:
    1. Otevřete šablonu v aplikaci Document Studio.
    2. V buňce záhlaví sloupce, který chcete seřadit, přidejte prvek komentáře Ikona Komentáře.
    3. Poklepejte na prvek Komentáře a zadejte <RPE_SORT>.
    4. Opakujte u každé tabulky v šabloně, a aktualizujte je tak.
  2. Vytvořte makro:
    1. Otevřete aplikaci Microsoft Word.
    2. Okopírujte a vložte následující skript do souboru:
      ' Macro: sort tables
      ' Toto makro je k dispozici tak, jak je, bez jakékoliv explicitní nebo implicitní podpory od IBM.
      Sub sortTables()
      
          Dim tbl As Table
      
          ' seřadit každou tabulku
          For Each tbl In ActiveDocument.Tables
      
              ' určit, zda má tabulka záhlaví
              Dim hasheader As Boolean
              hasheader = False
              If tbl.Rows.First.HeadingFormat = True Then
                  hasheader = True
              End If
      
              ' získat sloupec, ve kterém se má provést řazení. Sloupec je určen komentářem v první buňce obsahujícím "<RPE_SORT>"
              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
      
                          ' Odstranit komentář - odebrat komentář z níže uvedeného řádku
                          ' Selection.Comments.Item(1).Delete
      
                          Exit For
                      End If
                  End If
              Next
      
              ' seřadit tabulku pomocí nalezeného sloupce
              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
    3. Soubor uložte s příponou .dot.
  3. Do specifikace dokumentu přidejte makro a vygenerujte výstup:
    1. Otevřete specifikaci dokumentu, pokud již nějakou máte, nebo vytvořte novou ve Spouštěcím programu aplikací.
    2. Rozbalte volbu Výstup, klepněte pravým tlačítkem myši na volbu Cíl: Word a vyberte volbu Konfigurovat výstup.
    3. U volby Šablona stylů klepněte na tlačítko Procházet a vyhledejte vytvořené makro .dot.
    4. Do volby Macro zadejte název makra.
    5. Vygenerujte výstup.

Jak pokračovat dále

Uložte makro a znovu ho použijte v libovolné specifikaci dokumentu k řazení dat.

Zpětná vazba