1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Urgente Inserir PDF em excel

Discussão em 'Progress 4GL' iniciado por Felipe Amaral de Souza, Maio 16, 2016.

  1. joelscampos

    joelscampos Membro Participativo

    Pelo que entendi, o que vc quer é fazer aproveitamento de papel na hora de imprimir, e por isso você vai colocar um arquivo (pdf ou jpg) dentro do excel para que ao imprimir o excel já imprima tudo de uma vez...

    Se for isso, uma alternativa seria concatenar os comandos de impressão:
    - pega o comando que imprime o excel e junta com o comando que imprime o pdf, e manda os dois comandos juntos para a impressora.

    Não sei como implementar.

    Só estou tentando ajudar com alguma idéia diferente, pois aparentemente está mais complicado colocar o arquivo dentro do excel.
  2. Felipe Amaral de Souza

    Felipe Amaral de Souza Membro Participativo

    Ola Joel, neste caso a impressora entenderá como dois jobs de impressão distintos e portanto não utilizará o verso da folha disponível da última aba. Atualmente é assim que fazemos a impressão aqui na empresa. Fizemos uma série de melhoramentos neste projeto que incluiu juntar vários documentos em uma planilha para imprimir frente e verso e realizar ajustes de dimensionamento automático da página para otimizar a utilização do papel. A única coisa que faltou foi incluir este pdf que acaba saindo em folha separada. Precisamos descobrir um comando para inserir um pdf dentro de uma aba desta planilha e está complicado encontrar um eficaz.

    Muito obrigado pela ajuda!
  3. joelscampos

    joelscampos Membro Participativo

    Acho que vai dar certo:

    Código:
    RUN pr-imprime-rel-acompanhamento.
    
    
    PROCEDURE pr-imprime-rel-acompanhamento:
    
    
        /*------ Variaveis locais -----------------------------------------------------------*/
        DEF VAR ExcelApp                            AS COM-HANDLE                           NO-UNDO.
        DEF VAR arquivoExcel                        AS COM-HANDLE                           NO-UNDO. /*esta variavel faz referencia a pasta, que contém N abas*/
        DEF VAR planilha                            AS COM-HANDLE                           NO-UNDO. /*esta variavel faz referência à aba*/
        DEF VAR nr-linha                            AS INT                                  NO-UNDO INIT 1.
    
    
        /*------ Abre uma instância do Excel -----------------------------------------*/
        CREATE "EXCEL.APPLICATION" ExcelApp.
        arquivoExcel = ExcelApp:WorkBooks:ADD().   /* cria um arquivo/pasta de trabalho, que contém 3 planilhas(depende...)  */
    
    
    
    
        ExcelApp:SHEETS:ITEM(1):OLEObjects:Add("AcroExch.Document.11").
    
    
    
        /*-------- Fecha arquivo de saida -----------------------------------------*/
        FINALLY:
    
           
            /*-------- Abre o arquivo na Tela -----------------------------------------*/
            ExcelApp:VISIBLE = TRUE.
    
            IF VALID-HANDLE(planilha)
            THEN
                RELEASE OBJECT planilha.
    
            IF VALID-HANDLE(arquivoExcel)
            THEN
                RELEASE OBJECT arquivoExcel.
           
            IF VALID-HANDLE(ExcelApp)
            THEN
                RELEASE OBJECT ExcelApp.
           
        END FINALLY.
    END PROCEDURE. /*pr-imprime-rel-acompanhamento*/
    
  4. Felipe Amaral de Souza

    Felipe Amaral de Souza Membro Participativo

    Bom dia Joel, apresentou s seguinte erro na execução:

    ---------------------------
    Erro
    ---------------------------
    Ocorreu erro durante acesso a componente da propriedade/metodo: Add.
    Não é possível inserir o objeto.
    Error code: 0x80020009 pr-imprime-rel-acompanhamento c:\temp\p08013_Untitled1.cmp (5890)
    ---------------------------
    OK
    ---------------------------
  5. joelscampos

    joelscampos Membro Participativo

    Acho que esse erro pode ser por um dos dois motivos:
    - não tem o "Adobe Reader" na sua máquina;
    - o seu Windows não está configurado para abrir arquivos com extensão .pdf usando, por padrão, o Adobe Reader.

    Eu executei o programa agora, e fiquei olhando no gerenciador de tarefas para ver qual é o programa que seria aberto no momento que o programa inserisse o pdf no excel, e vi que foi aberto este:
    C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe
  6. Felipe Amaral de Souza

    Felipe Amaral de Souza Membro Participativo

    Boa tarde Joel

    Tenho o PDF reader instalado na máquina (C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe) e inclusive deixei um pdf aberto para ver se resolvia pois vi que no código não faz menção ao nome do arquivo a ser inserido.


    Você complementou o código com mais alguma informação?

Compartilhe esta Página