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:
- La macro puede ejecutarse en cualquier tabla de la plantilla.
- Si alguna tabla utiliza el comentario <RPE_SORT>, dicha tabla se ordena.
- Las tablas que no utilizan el comentario <RPE_SORT> no se ordenan.
- El comentario <RPE_SORT> puede suprimirse de la salida final.
Procedimiento
- Añada una etiqueta de macro a las columnas que deben ordenarse:
- Abra la plantilla en la aplicación Document Studio.
- En la celda de cabecera de la columna que debe utilizarse para la clasificación, añada un
elemento de comentario.
- Efectúe una doble pulsación en el elemento de comentario y especifique <RPE_SORT>.
- Repita el proceso en cada tabla de la plantilla que debe actualizarse.
- Cree la macro:
- Abra Microsoft Word.
- 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
- Guarde el archivo con la extensión .dot.
- Añada la macro a la especificación de documento y genere la salida:
- Abra la especificación de documento, si ya la tiene, o cree una en la aplicación Lanzador.
- Expanda Salida, pulse Destino: Word con el botón derecho del ratón y seleccione
Configurar salida.
- En Hoja de estilo, pulse Examinar para localizar la macro .dot que ha
creado.
- En Macro, especifique el nombre de la macro.
- Genere la salida.
Qué hacer a continuación
Guarde la macro y reutilícela en cualquier especificación de documento para clasificar datos.