Clasificar mediante una macro para documentos de Microsoft Word

Utilice una macro para clasificar cuando la propiedad que desea utilizar no está disponible en la ventana de clasificación.

Antes de empezar

Nota: este tema sólo hace referencia a las plantillas que se generan en documentos de Microsoft Word.

Acerca de esta tarea

Ventajas de utilizar una macro para clasificar:

Procedimiento

  1. Añada una etiqueta de macro a las columnas que deben ordenarse:
    1. Abra la plantilla en la aplicación Document Studio.
    2. En la celda de cabecera de la columna que debe utilizarse para la clasificación, añada un icono de Comentario elemento de comentario.
    3. Efectúe una doble pulsación en el elemento de comentario y especifique <RPE_SORT>.
    4. Repita el proceso en cada tabla de la plantilla que debe actualizarse.
  2. Cree la macro:
    1. Abra Microsoft Word.
    2. Copie y pegue el script siguiente en el archivo:
      ' 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
    3. Guarde el archivo con la extensión .dot.
  3. Añada la macro a la especificación de documento y genere la salida:
    1. Abra la especificación de documento, si ya la tiene, o cree una en la aplicación Lanzador.
    2. Expanda Salida, pulse Destino: Word con el botón derecho del ratón y seleccione Configurar salida.
    3. En Hoja de estilo, pulse Examinar para localizar la macro .dot que ha creado.
    4. En Macro, especifique el nombre de la macro.
    5. Genere la salida.

Qué hacer a continuación

Guarde la macro y reutilícela en cualquier especificación de documento para clasificar datos.