Página 1 de 1

grafico usando o excell

Enviado: 02 Nov 2019 17:21
por paiva_dbdc
Boa tarde.

Peguei essa função não sei de onde.

gero um dbf e chamo a função

estou tentando ver se funciona + da pau

auguem usa algo parecido ?


*** Grafico EXCELL

Código: Selecionar todos

FUNCTION gpizza_excell( excell_programa, excell_nprograma )
     LOCAL oExcel, oSheet, oPlan
     LOCAL nCounter

*select axxabc
*msgstop(strzero(recno(),6))

     cTempDir := "c:\dbdc\excell"

     TRY
        oExcel := GetActiveObject( "Excel.Application" )
     CATCH
        TRY
           oExcel := CreateObject( "Excel.Application" )
        CATCH
           pmsg= "ERRO! Excel nÆo Instalado. [" + Ole2TxtError()+ "]"
           ftempo()
           RETURN
        END
     END

   msgstop("gpizza_exell 01")
     oExcel:WorkBooks:Add()          && da pau aqui
   msgstop("gpizza_exell 02")
     oSheet = oExcel:ActiveSheet()
     msgstop("gpizza_exell 03")

    *if File(cTempDir+[\]+alltrim(pusuario)+".xls")
    *    fErase(cTempDir+[\]+alltrim(pusuario)+".xls")
    *    oSheet:SaveAs(cTempDir+[\]+alltrim(pusuario)+".xls")
    *else
    *    oSheet:SaveAs(cTempDir+[\]+alltrim(pusuario)+".xls")
    *endif

     oSheet:Cells:Font:Name = "Courier New"
     oSheet:Cells:Font:Size = 17
     oSheet:cells:Font:ColorIndex := 11
     oSheet:Cells( 1, 1 ):Value := trim(pnomeapl)
     msgstop("gpizza_exell 04")

     oSheet:Cells:Font:Name = "Courier New"
     oSheet:Cells:Font:Size = 12
     oSheet:Cells( 3, 1 ):Value := hb_oemtoansi("Descri‡Æo")
     oSheet:Cells( 3, 2 ):Value := "Valor"
     msgstop("gpizza_exell 05")

     oSheet:cells:Font:ColorIndex := 00   &&  qual a cor BLACK ?

    *oSheet:Columns( 1 ):Font:Bold := .T.

     oSheet:Columns( 1 ):AutoFit()
     oSheet:Columns( 2 ):AutoFit()
     msgstop("gpizza_exell 06")

     nCounter := 5
     cMEMO:=""
     C:=1
     B:=len(MATA)

     msgstop("gpizza_exell 02")
     DO WHILE C <= B
        //         1                2             3           4         5               6              7              8
        //{        DESCRICAO,        VALOR, CUSTO->ICMS, CUSTO->IPI,    CUSTO->UNIDADE, CUSTO->TAXADF, STR(RECNO(),6), CUSTO->PRECUSTO } )
        cMEMO += MATA[C,1]                                        // 1- DESCRICAO
        cMEMO += CHR(9)+TRANSF(MATA[C,2]  , "@E 99,999,999.9999") // 2- Valor
        cMEMO += CHR(10)

       *Mudar a cor das linhas sob condicoes
       *if testtemp->qtd <= 0
       *   oExcel:Rows(nCounter):Font:ColorIndex := 3
       *else
       *   oExcel:Rows(nCounter):Font:ColorIndex := 11
       *endif

        if  C = (B-1)   && Ultima linha
            oSheet:Columns( 1 ):Font:Bold := .T.
        endif

*112009 GTSetClipboard( cMemo ) xhb NOVO

        oSheet:Cells( nCounter, 1 ):Select()
        oSheet:paste()
        cMemo := ''

       C++
       nCounter++

     ENDDO
    *oSheet:Columns( 1 ):Font:Bold := .T.

  msgstop("gpizza_exell 03")

     nCounter = nCounter - 1
     oSheet:Columns( "A:B" ):AutoFit()
    *oSheet:Cells( 4,nCounter ):Select()  &&   NAO Seleciona as linhas

     oExcel:Visible = .T.

RETURN( nil )
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

grafico usando o excell

Enviado: 02 Nov 2019 18:24
por Toledo
Paiva, tente assim:

Código: Selecionar todos

oWorkBook := oExcel:WorkBooks:Add()
Abraços

grafico usando o excell

Enviado: 02 Nov 2019 21:52
por paiva_dbdc
Error description: Error BASE/1003 Variável não existe: WORKBOOK

*oExcel:WorkBooks:Add() && da pau aqui
WorkBook:WorkBooks:Add() && da pau aqui


opa fiz isso e da esse erro

grafico usando o excell

Enviado: 02 Nov 2019 22:08
por Toledo
Paiva, faz exatamente como está na minha mensagem anterior.

Abraços,

grafico usando o excell

Enviado: 03 Nov 2019 18:06
por paiva_dbdc
boa noite


oWorkBook := oExcel:WorkBooks:Add()

o seletor.exe parou de funcionar ..... ai tenho que derrubar o exe

deve estar faltando alguma coisa


Paiva

grafico usando o excell

Enviado: 03 Nov 2019 18:49
por Toledo
Paiva, dê uma olhada neste tópico, que tem um exemplo de como fazer um gráfico no Excel.

https://pctoledo.org/forum/viewto ... Add#p52730

Abraços,

grafico usando o excell

Enviado: 03 Nov 2019 20:02
por paiva_dbdc
MUITO obrigado

usando o exemplo abaixo fez um gráfico de BARRAS

para fazer tipo Pizza , ou outra forma
existe um comando que SETE o tipo de gráfico ?

function ___grafico()

Local oExcel, oHoja, oChart
*cfile = [\sergio\sfa32\pre\exc_paiva]

// Abrimos Excel
oExcel:= CreateObject( "Excel.Application" )

// Verificamos si hay error
if Ole2TxtError() != 'S_OK'
MsgInfo('Excel no esta disponible','Advertencia')
Return
endif

oExcel:Visible := .T. // Hacemos visibles los ca,bios

oExcel:Workbooks:Open(cFILE) // Abrimos el BDF

oExcel:Set("DisplayAlerts",.F.) // Deshabilitamos mensajes de Error

oHoja:=oExcel:Get( "ActiveSheet" ) // Activamos la hoja

*oHoja:Range("A1:D4"):Select() // Definimos Rango
*oHoja:Range("B1:C8"):Select() // Definimos Rango
oHoja:Range(Prange):Select() // Definimos Rango

oChart:=oExcel:Charts:Add() // Creamos una grafico de barras

oChart:Hastitle:=.T. // Definimos el titulo
oChart:ChartTitle:Text:="Titulo dos Grafico"
oExcel:Visible := .t.

RETURN

grafico usando o excell

Enviado: 03 Nov 2019 20:35
por Toledo
Paiva, faz um teste, antes do comando oExcel:Visible := .t. coloque:

Código: Selecionar todos

oChart:ChartType:=xlPie
Abraços,

grafico usando o excell

Enviado: 05 Nov 2019 17:31
por paiva_dbdc
deu erro

Error description: Error BASE/1003 Variável não existe: XLPIE

PAiva

grafico usando o excell

Enviado: 10 Nov 2019 23:06
por rochinha
Amiguinhos,

paiva_dbc
Os valores de xlPie podem ser

xlPie := 0,5 // Pizza.
xlPieExploded := 69 // Pizza destacada.
xlPieOfPie := 68 // Pizza de pizza.

grafico usando o excell

Enviado: 11 Nov 2019 11:20
por paiva_dbdc
BOM dia

Error description: Error BASE/1005 Class: 'NIL' has no property: CHARTTYPE
estou fazendo assim:


function ___grafico()
Local oExcel, oHoja, oChart
// Abrimos Excel
oExcel:= CreateObject( "Excel.Application" )
// Verificamos si hay error
if Ole2TxtError() != 'S_OK'
MsgInfo('Excel no esta disponible','Advertencia')
Return
endif

xlPie := 0.5 &&// Pizza.
xlPieExploded := 69 // Pizza destacada.
xlPieOfPie := 68 // Pizza de pizza.

oChart:ChartType:=xlPie && ************** onde ocorre o erro **********************

oExcel:Visible := .T. // Hacemos visibles los ca,bios
oExcel:Workbooks:Open(cFILE) // Abrimos el BDF
oExcel:Set("DisplayAlerts",.F.) // Deshabilitamos mensajes de Error
oHoja:=oExcel:Get( "ActiveSheet" ) // Activamos la hoja
oHoja:Range(Prange):Select() // Definimos Rango
oChart:=oExcel:Charts:Add() // Creamos una grafico de barras
oChart:Hastitle:=.T. // Definimos el titulo
oChart:ChartTitle:Text:="Titulo dos Grafico"
oExcel:Visible := .t.

RETURN


se enibo a linha oChart:ChartType:=xlPie

gera um gráfico em Barra

queria ver como fica um em PIZZA

Obrigado

grafico usando o excell

Enviado: 12 Nov 2019 15:44
por rochinha
Amiguinhos,

paiva_dbdc
É a primeira vez que você tem contacto com codificação de objetos?

Perceba que se um objeto não for instanciado ou se seus métodos não forem anunciados antes não haverá meios de usá-los obtendo erros de indefinição.

Código: Selecionar todos


xlPie := 0.5 &&// Pizza.
xlPieExploded := 69 // Pizza destacada.
xlPieOfPie := 68 // Pizza de pizza.

oChart:ChartType:=xlPie && ************** onde ocorre o erro **********************

oExcel:Visible := .T. // Hacemos visibles los ca,bios
oExcel:Workbooks:Open(cFILE) // Abrimos el BDF
oExcel:Set("DisplayAlerts",.F.) // Deshabilitamos mensajes de Error
oHoja:=oExcel:Get( "ActiveSheet" ) // Activamos la hoja
oHoja:Range(Prange):Select() // Definimos Rango
oChart:=oExcel:Charts:Add() // Creamos una grafico de barras
oChart:Hastitle:=.T. // Definimos el titulo
oChart:ChartTitle:Text:="Titulo dos Grafico"
oExcel:Visible := .t.

RETURN
Aqui um erro clássico é acionar um método ou propriedade de um objeto que ainda não está criado. Você tentou sair dirigindo antes de entrar no automóvel.

Código: Selecionar todos


xlPie := 0.5 &&// Pizza.
xlPieExploded := 69 // Pizza destacada.
xlPieOfPie := 68 // Pizza de pizza.

oExcel:Visible := .T. // Hacemos visibles los ca,bios
oExcel:Workbooks:Open(cFILE) // Abrimos el BDF
oExcel:Set("DisplayAlerts",.F.) // Deshabilitamos mensajes de Error
oHoja:=oExcel:Get( "ActiveSheet" ) // Activamos la hoja
oHoja:Range(Prange):Select() // Definimos Rango
oChart:=oExcel:Charts:Add() // Creamos una grafico de barras **************** OI, aqui fui criado ***************
oChart:Hastitle:=.T. // Definimos el titulo
oChart:ChartTitle:Text:="Titulo dos Grafico"
oExcel:Visible := .t.

oChart:ChartType:=xlPie && ************** onde OCORRIA o erro **********************

RETURN