Artículo: Tablas en LotusScript »
JUAN F. RUIZ F. - SEP 21, 2006 (02:09:44 PM)
Introducción
En el cliente Notes, se que muchos de nosotros siempre queremos crear un tabla dinámica en Notes usando LotusScript. Pero LotusScript no tiene ningún comando para crear un tabla de Notes.
Afortunadamente, en la versión 6 esto está solucionado y hay un conjunto completo de clases que permiten hacer "diabluras" dentro de un campo de texto enriquecido pero en la versión 5 ...
Objetivo
¿Cómo conseguiremos realizar esto si estamos usando la versión 5 de Notes? Sabemos que en LotusScript de manera directa no podemos hacerlo ... pero con un poco de ingenio podremos realizar la generación de una tabla dinámica dentro de un campo de texto enriquecido usando un método alternativo.
Cómo se hace
El método en general consiste en generar un fichero de texto que contendrá el HTML de la tabla, grabarlo en disco e importarlo con el método import() de la clase de Notes llamada NotesUidocument. Todo el código deberemos incluirlo en el evento PostOpen del formulario que contendrá la tabla dinámica. Por supuesto este formulario deberá contener un campo de texto enriquecido que albergará la tabla.
Sub Postopen(Source As Notesuidocument) Dim sess As New NotesSession Dim fileNum As Integer Dim strFilePath As String ' Usamos HTML para construir la tabla strHTML= "<table border=1 width=100%><tr><td><b>Cell1</b></td><td>Cell2 </td></tr><tr><td>Cell3</td><B></B><td> Cell4</td></tr></table>" ' Definimos un nuevo nombre de fichero HTML único y un camino strFilePath = "C:\Temp\" + sess.CommonUserName + Cstr(Format(Now, "yyyymmddhhmmss")) + ".html" ' Creamos un fichero basado en el camino y el nombre de arriba fileNum% = Freefile() Open strFilePath For Output As filenum% ' Escribimos el HTML en el fichero HTML Print #fileNum, strHTML ' Cerramos el fichero Close #fileNum ' Importamos el fichero como HTML al formulario actual, y Notes R5 automáticamente convertirá el HTML al formato de Notes, incluyendo la tabla. Call source.import("HTML", strFilePath) ' Borra el fichero HTML que acabamos de crear. Kill strFilePath End Sub
Este ejemplo es sencillo pero podréis comprobar que con un poco de trabajo se puede realizar un procedimiento o clase que al pasarle ciertos parámetros ( filas, columnas, colores, array con los datos, etc. ) nos genere una magnífica tabla a todo color con el estilo de letra y efectos que queramos y que soporte HTML ).
La explicación
Sencillamente nos estamos aprovechando de las capacidades de importación que posee Notes, pero en vez de hacerlo de manera interactiva mediante cuadros de diálogo, etc. lo hacemos via programación.

