Relatório Excel 2010

Discussão em 'Progress 4GL' iniciado por maicon, Julho 4, 2013.

  1. maicon

    maicon Membro Participativo

    Muda alguma coisa do Excel 2007 para o 2010?

    Antes o relatório gerava excel corretamente.
    Agora trocamos o excel para 2010 e o relatório não gera em excel e não dá erro.

    O que pode ser?
  2. rhemati

    rhemati Membro Participativo

    Maicon, bom dia.

    Não que eu saiba.

    está dando erro no seu programa/rotina?
  3. maicon

    maicon Membro Participativo

    Não dá erro nenhum.
    Simplesmente não abre o excel com relatório.
  4. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Posta o seu codigo aqui para lhe ajudarmos.
  5. maicon

    maicon Membro Participativo

    /*************************** Excel **************************/
    def var cModelo as char no-undo.
    def var cTemporario as char no-undo.
    def var statusErro as int no-undo.
    def var iLinha as int no-undo.
    def var chExcelApplication as com-handle no-undo.
    def var chWorkbook as com-handle no-undo.
    def var chWorksheet as com-handle no-undo.
    DEF VAR m-linha AS INTEGER NO-UNDO. /* Vari vel p/ contagem das linhas */



    IF tt-param.rs-imprimir = 1 THEN DO:
    assign cModelo = search('P:\EMS206\especificos\layout\moes0365ComProg.xls')
    cTemporario = session:temp-directory + 'moes0365ComProg_' + string(TIME) + '.XLS'.
    END.

    IF tt-param.rs-imprimir = 2 THEN DO:
    assign cModelo = search('P:\EMS206\especificos\layout\moes0365SemProg.xls')
    cTemporario = session:temp-directory + 'moes0365semProg_' + string(TIME) + '.XLS'.
    END.

    IF tt-param.rs-imprimir = 3 THEN DO:
    assign cModelo = search('P:\EMS206\especificos\layout\moes0365Ambos.xls')
    cTemporario = session:temp-directory + 'moes0365Ambos_' + string(TIME) + '.XLS'.
    END.

    if search(cTemporario) <> ? then
    do:

    os-delete value(cTemporario).

    assign statusErro = os-error.

    if statusErro <> 0 then
    case statusErro:
    when 1 then run utp/ut-msgs.p('show',17006,'You are not the owner of this file or directory.').
    when 2 THEN run utp/ut-msgs.p('show',17006,'The file or directory you want to delete does not exist.').
    otherwise
    run utp/ut-msgs.p('show',17006,"OS Error #~~" + string(os-error,"9999")).
    end case.
    end.

    create "Excel.Application" chExcelApplication.
    chWorkbook = chExcelApplication:Workbooks:Open(cModelo).
    chExcelApplication:Visible = FALSE.

    chWorkSheet = chExcelApplication:Sheets:Item(1).

    assign iLinha = 03.




    chWorkSheet:Range("A" + string(iLinha)):value = w-item.plano
    chWorkSheet:Range("B" + string(iLinha)):value = w-item.nr-lote
    chWorkSheet:Range("C" + string(iLinha)):value = w-item.seq
    chWorkSheet:Range("D" + string(iLinha)):value = w-item.it-codigo



    chWorkBook:SaveAs(cTemporario,-4143,,,,,,, TRUE).
    assign chExcelApplication:DisplayAlerts = false
    chExcelApplication:visible = true.

    RELEASE object chworksheet no-error.
    release object chExcelApplication no-error.
    release object chworkbook no-error.
  6. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Vamos tentar por eliminação.
    Cara na linha do SaveAs tente alterar o parametro -4143 para 43, se não der certo passe ele em branco....

    Se ainda nao der certo tente comentar a linha e veja se o Excel vai ficar visivel, mas lembre-se que nessa opção o arquivo deverá ser salvo manualmente pelo usuario.

Compartilhe esta Página