Ir al contenido principal

Excel y la clase TOleAuto

El día de hoy se publico en el foro de noticias de fivewin un mensaje que me llamó la atención.

Hola
Estoy utilizando TExcelScript y me veo en la necesidad de insertar saltos de
página en la hoja de Excel.

En la documentación de VBA me viene que hay que hacer:
ActiveSheet.HPageBreaks.Add Before:=ActiveCell
¿Cómo se traduce esto a cristiano?
Otra cosa.
A veces veo en los métodos que se utiliza :
::oSheet:PageSetup:Set( "printarea" , cRange ) ó ::oCell := ::oExcel:Get( "ActiveCell")
¿Cúal es la convención de llamadas para usar Set o simplemente hacer " :=
cRange"
Paco García

Ok .... vamos por partes...

ActiveSheet.HPageBreaks.Add Before:=ActiveCell

ActiveSheet es una clase de Excel y nosotros la podemos manejar desde la clase TExcelScript con la Data oSheet que guarda el Objeto de la hoja de trabajo activa.

oExcel:oSheet

ActiveSheet.HPageBreaks.Add Before:=ActiveCell

HPageBreaks es una propiedad de la clase ActiveSheet ( oExcel:oSheet ) , en donde nosotros la podemos manejar con los métodos Set() , Get() o Invoke() , siguiendo esta lógica nuestro código quedaría así.

oExcel:oSheet:HPageBreaks

La propiedad HPageBreaks tiene propiedades y funciones , aquí es donde es muy importante saber que método de la clase TOleAuto debemos de aplicar.

Y realmente es muy sencillo , la regla es la siguiente , todas las propiedades de Excel las vamos a acceder con Set() y Get() , para las funciones usamos el método Invoke()

Conociendo esto solamente nos resta revisar la sintaxis de la propiedad HPageBreaks y saber si "Add" es una función o un método.

La sintaxis de HPageBreaks nos muestra que "Add" es una función y que recibe un parámetro tipo Objeto que indica la celda activa donde se va insertar nuestro salto de página.

Ahora nuestro código queda de la siguiente forma :

oExcel:oSheet:HPageBreaks:Invoke("Add")

únicamente nos hace falta el parámetro tipo Objeto que se envía a la función Add() de la propiedad HPageBreaks.

Ese valor lo podemos obtener de dos formas :

1.- Obteniendo la celda activa

oCell := oExcel:GetCell()

2.- Especificando una dirección .

oCell := oExcel:SetPos( "A5")

El código resultante de todo esto sería.

oExcel:oSheet:HPageBreaks:Invoke("Add", oCell )

¡¡¡ y ……… listo el pollo !!!

Comentarios

Anónimo dijo…
Muy buena explicación Vikthor, con esto ya se puede seguir agregándoles mas opciones a la TExcelScript.

Saludos,

Carlos Sincuir
tecnisistemas@guate.net.gt
Anónimo dijo…
gracias voy a probarlo y os cuento

Entradas más populares de este blog

FreeWin, otro producto para desarrollades xBase

Hace poco más de 4 meses, en mi programa de Radio comente la intención de crear un proyecto donde toda la comunidad de programadores xBase, formaran parte para crear una GUI y poder tener un radio más amplio de conocimiento y una estructura solida de apoyo para toda nuestra comunidad. Y me da gusto anunciar que la propuesta no quedo en el tintero, a partir del día de hoy pueden hacer uso de una nueva GUI que tiene por nombre FreeWin y este proyecto es lidereado por mi buen amigo Oscar Lira. Que ventajas ofrece FreeWin , bueno la principal de todas es CONOCIMIENTO y eso, pues no tiene valor, todo el código fuente de FreeWin está disponible para que todos podamos entender cómo funciona internamente su sistema de mensajes con Windows. También ofrece una gran cantidad de Controles nativos y nos permite poder integrar cualquier control que MicroSoft tenga. Esto apenas es el comienzo de una nueva herramienta y la pueden consultar en FreeWin ahhhh, por cierto.......¡¡¡¡¡ Tenía que ser un pro...

Optimización Dinámica - Método húngaro

 "El modelo de asignación es un caso especial del modelo de transporte, donde los trabajadores representan los orígenes y los trabajos representan los destinos. La oferta en cada origen es igual a 1. El hecho de que la oferta y la demanda sean iguales a 1 conduce al desarrollo de un algoritmo de solución simple llamado método húngaro." Investigación de Operaciones Novena Edición Hamdy A. Taha Modelo de Asignación Pag, 201

¿ Problemas para descomprimir archivos ?

 Hoy en día hay muchas opciones para comprimir información, existen algoritmos que permiten comprimir distintos tipos de archivos. Los formatos Zip y Rar son comunmente utilizados en Windows, los formatos Tar, Gzip, Bzip2 son utilizados en Linux y Unix. ¿ Qué hacer cuándo se presenta la necesidad de descomprimir un archivo en alguno de los formatos mencionados y no tienes instalado el software necesario en tu equipo ? Te recomiendo visitar  Cloudconvert , es un sitio en dónde podrás convertir archivos de un formato de compresión a otro sin necesidad de instalar software, la convesión es realizada en línea. La versión libre te permite realizar hasta 25 convesiones por día.