Área de Impresão | Quebra de Página no Excel! VPageBreaks

Discussão em 'Progress 4GL' iniciado por eriutoncharles, Setembro 4, 2012.

  1. eriutoncharles

    eriutoncharles Membro Participativo

    Bom Dia Pessoal !!

    Alguém aqui já precisou configurar via comando Progress a área de impressão para que a quebra de página fosse ajustada de acordo com o seu relatório?
    Alguns relatórios aqui vão até as colunas M,N... e quando mando imprimir ou salvar como pdf(também via comando), ele vai todo desconfigurado.

    Gravei uma Macro mas mesmo assim não consigo Setar a quebra de página
    Código VB:
    Código:
    ActiveWindow.View = xlPageBreakPreview
        Set ActiveSheet.VPageBreaks(1).Location = Range("K1")
    Alguém poderia me ajudar?
    Grato desde já!
    Um Grande abraço!!
  2. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Charles,

    Veja se atende você a linha abaixo:

    Código:
    
            chWorksheet:VPageBreaks:ADD(ch-Excel:CELLS(iLinha,iColuna)).
    
    
  3. eriutoncharles

    eriutoncharles Membro Participativo

    Olá Eduardo, bom dia !!
    Muito Obrigado pela atenção desde já!


    Não deu certo querido!
    Troquei pra minhas variáveis, mas ainda assim não seta a quebra de página pras colunas a frente.

    troquei para este código:
    Código:
    chWorkSheet:HPageBreaks:Add(chWorkSheet:Range("M1")).
    chWorksheet:VPageBreaks:ADD(chWorkSheet:Range("M1")).
    
    O Método CElls deu erro...
    Outra dúvida, essa variável ch-Excel equivale a minha chWorkSheet?

    Código:
    define variable chExcelApplication as com-handle.
    define variable chWorkBook         as com-handle.
    define variable chWorkSheet        as com-handle.
    DEFINE VARIABLE chWorksheetRange AS COM-HANDLE.
    DEFINE VARIABLE MsoGradientStyle AS COM-HANDLE.
    
    create "Excel.Application" chExcelApplication.
    chWorkbook = chExcelApplication:Workbooks:add().
    chWorkSheet = chExcelApplication:Sheets:item(1).
    
  4. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Charles,

    Testei aqui com o código abaixo e funcionou, veja ai:

    Código:
    
    def var chExcel                     as com-handle   no-undo.
    def var chBook                      as com-handle   no-undo.
    def var chSheet                     as com-handle   no-undo.
        
    create  "Excel.Application" chExcel.
    
    assign  chExcel:displayalerts  = yes
            chExcel:visible        = yes
            chExcel:screenupdating = yes.
    
    assign  chBook  = chExcel:workbooks:add()
            chSheet = chExcel:worksheets:item(1).
    
    chSheet:HPageBreaks:add(chExcel:Range("C5")).
    chSheet:VPageBreaks:add(chExcel:Range("C5")).
    
    release object chExcel  no-error.
    release object chBook   no-error.
    release object chSheet  no-error.
    
    
  5. eriutoncharles

    eriutoncharles Membro Participativo

    Bom dia!!

    Mesmo assim não consigo configurar, o código acima, troquei par acoluna M por exemplo... e preenchi com alguns valores... mas mesmo assim não deu.

    O que estou tentando fazer é o Seguinte: Supomos que tenho uma planilha preenchida até a coluna M e você queira configurar a impressão pra sair todas as colunas preenchidas, até a M em uma única página.

    Manualmente vou no Excel , Exibição , Exibir quebras de páginas, e as linhas pontilhadas, eu pego uma das e arrasto até o final, até a última coluna preenchida, então as linhas pontilhadas somem e fica uma única área de impressão da A até a M por exemplo.

    Com o comando que o Eduardo me passou, vi que ele meche realmente na área de impressão, mas não seta as linhas pontilhadas ! :(

    Desde já agradeço a atenção!!

Compartilhe esta Página