Page 1 of 1

Se pueden combinar celdas al exportar a Excel con TOleAuto?

PostPosted: Thu May 06, 2010 6:40 pm
by jrestojeda
Hola a todos...
Estoy intentando agrupar celdas con TOleAuto y no se como hacerlo...
Si alguien sabe si se puede y me puede decir como, estaré agradecido.

Asi es como me queda al exportar a Excel:
Image

Así es como lo quiero:
Image

Desde ya muchas gracias.
Saludos, Esteban.

Re: Se pueden combinar celdas al exportar a Excel con TOleAuto?

PostPosted: Fri May 07, 2010 5:34 am
by anserkk
Image

Code: Select all  Expand view
#include "Fivewin.ch"

#DEFINE  xlCenter  -4108

//----------------------------------//
Function Main()
   
    Local oExcel,oWorkBook,oSheet,oRange,i,cFileName:="D:\FwhTests\MyTest"

    oExcel := CREATEOBJECT( "Excel.Application" )
    OEXCEL:DISPLAYALERTS=.F.
    oWorkBook := oExcel:WorkBooks:Add()
    oSheet := oExcel:ActiveSheet
   
        // Main Heading
    oSheet:Cells(1,1):Value:="My Heading"  
   
       // Column Headings
    oSheet:Cells( 2, 1 ):Value = "Date"
    oSheet:Cells( 2, 2 ):Value = "Number"
    oSheet:Cells( 2, 3 ):Value = "Description"
    oSheet:Cells( 2, 4 ):Value = "Amount"
   
        // Creating Dummy Data
    For i:=3 to 10
        oSheet:Cells(i,1):Value=Date()
        oSheet:Cells(i,2):Value=i
        oSheet:Cells(i,3):Value="Description "+str(i,2)
        oSheet:Cells(i,4):Value=i*10
    Next
       
        // Trying to Merge cells for the Main Heading
    oRange:=oSheet:Range("A1:D1")
    oRange:MergeCells:= .T.
    oRange:HorizontalAlignment:= xlCenter

        // Save the File
    oWorkbook:SaveAs( cFileName )
   
    oExcel:Quit()
    oExcel:=NIL

Return NIL
 


Regards
Anser

Re: Se pueden combinar celdas al exportar a Excel con TOleAuto?

PostPosted: Fri May 07, 2010 6:38 am
by groiss
Anser, me parece interesantísimo lo que se puede hacer en tablas excel, podrías indicarme donde obtener información sobre los diferentes valores y funciones que se pueden utilizar?.
Muchas gracias y un saludo


José Luis

Re: Se pueden combinar celdas al exportar a Excel con TOleAuto?

PostPosted: Fri May 07, 2010 8:06 am
by anserkk
Dear Mr.José Luis,

The best way to learn is to record a macro and then do the required tasks in excels. Once you have done the task, stop the recording and use the edit macro option to view the generated VB code. After that you can easily convert the VB script code to FWH. :)

Regards
Anser

Re: Se pueden combinar celdas al exportar a Excel con TOleAuto?

PostPosted: Fri May 07, 2010 11:28 am
by mmercado
Hola Esteban y Amigos:
jrestojeda wrote:Estoy intentando agrupar celdas con TOleAuto y no se como hacerlo...
Si alguien sabe si se puede y me puede decir como, estaré agradecido.

Aquí te muestro solamente otra forma para conseguir lo que mencionas:

#define xlHAlignCenterAcrossSelection 7
oSheet:Range( "A1:E1" ):HorizontalAlignment := xlHAlignCenterAcrossSelection

Para analizar los métodos de Excel en la forma que Anser tan atinadamente sugiere, es necesario conocer las constantes usadas por dichos métodos, aquí les pongo un link donde pueden descargar una relación de todas (eso creo) las constantes usadas en los métodos y variables de los objetos de Excel:

http://www.box.net/shared/kc0s5a81il

Un abrazo.

Manuel Mercado Gómez

Re: Se pueden combinar celdas al exportar a Excel con TOleAuto?

PostPosted: Fri May 07, 2010 12:19 pm
by acuellar
Gracias Distinguidos

Cómo se hace para dar un ancho específico a la columna y poner Bold al texto.


Saludos

Adhemar

Re: Se pueden combinar celdas al exportar a Excel con TOleAuto?

PostPosted: Fri May 07, 2010 1:08 pm
by jrestojeda
Muchas gracias a ambos por las respuestas.
Finalimente pude solucionar el problema.
Saludos, Esteban.

Re: Se pueden combinar celdas al exportar a Excel con TOleAuto?

PostPosted: Fri May 07, 2010 2:22 pm
by jrestojeda
Adhemar...

Code: Select all  Expand view
oHoja:Cells( TuCelda ):Font:Bold := .T.


Saludos, Esteban.

Re: Se pueden combinar celdas al exportar a Excel con TOleAuto?

PostPosted: Fri May 07, 2010 3:37 pm
by acuellar
Gracias Esteban

Y para dar el ancho a la columna

Saludos

Adhemar

Re: Se pueden combinar celdas al exportar a Excel con TOleAuto?

PostPosted: Fri May 07, 2010 11:42 pm
by mmercado
Hola Adhemar:
acuellar wrote:Y para dar el ancho a la columna

Un ejemplo modificando el ancho de la columna 3:

oSheet:Columns( 3 ):ColumnWidth := 28

El valor asignado será el número de caracteres desplegables tomando como base la fuente standard.

Un abrazo.

Manuel Mercado Gómez.

Re: Se pueden combinar celdas al exportar a Excel con TOleAuto?

PostPosted: Mon May 10, 2010 1:20 pm
by acuellar
Gracias Manuel

Funcionó perfecto

Saludos

Adhemar

Re: Se pueden combinar celdas al exportar a Excel con TOleAuto?

PostPosted: Mon Mar 19, 2012 3:05 pm
by MarioG
Estimados;
retomo este post porque necesito asignar a celdas numéricas su "picture"
tambien establecer una cabecera textual con alineación derecha

muchas gracias

Re: Se pueden combinar celdas al exportar a Excel con TOleAuto?

PostPosted: Wed Mar 21, 2012 7:29 am
by anserkk
To format Numbers

Code: Select all  Expand view
oSheet:Cells(i,4):NumberFormat = "$#,##0.00"


To Right Align the header

Code: Select all  Expand view
#DEFINE  xlRight -4152

oSheet:Cells( 2, 4 ):Value = "Amount"
oSheet:Cells( 2, 4 ):HorizontalAlignment:=xlRight


Anser

Re: Se pueden combinar celdas al exportar a Excel con TOleAuto?

PostPosted: Wed Mar 21, 2012 11:12 am
by MarioG
muchas gracias!