Erro Relatório WORD 2000 X WORD 2003

Discussão em 'Progress 4GL' iniciado por tiagopdnjdc, Julho 2, 2010.

  1. tiagopdnjdc

    tiagopdnjdc Sem Pontuação

    Pessoal

    Tenho o código abaixo que gera um relatório para o word.

    Sempre geramos para o word 2000, fomos tentar para o word 2003 e da erro:

    Existe diferença nas funcões? Se sim, alguém poderia me ajudar?

    Código:
    CREATE "Word.Application" ch-word no-error.
    IF ERROR-STATUS:ERROR THEN DO: 
        MESSAGE "O Excel deve estar instalado" 
            VIEW-AS ALERT-BOX ERROR.
        RETURN NO-APPLY.
    END.
    
            ch-word:Visible = TRUE.
            ch-word:Documents:OPEN(TRIM(FILE-INFO:FULL-PATHNAME)  + trim(tt-relatorio.c-layout-relatorio)).
            ch-word:application:windowstate = 2.
            ch-Word:System:Cursor = 2.
            ch-word:ActiveWindow:ActivePane:View:SeekView = 9.
            ch-word:ActiveWindow:ActivePane:View:SeekView = 0.
            ch-word:ActiveDocument:GOTO(-1,,,"PrimeiraCelula").
            ch-word:ActiveDocument:MailMerge:Execute.
            ch-word:application:windowstate = 1.
            ch-word:Visible = TRUE.
    
    
  2. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

  3. tiagopdnjdc

    tiagopdnjdc Sem Pontuação

    Segue:

    1 - Ocorreu erro durante acesso a componente da propriedade/metodo: applicantion
    O Servidor RPC não está disponivel

    2 - Incapas de Definir propriedade de com-handle

    O Estranho que no Word 2000 funciona normal.
  4. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Estou com a mesma situação só que o erro é diferente, alguem poderia me ajudar???

    Ocorreu um erro durante o acesso a componente da propriedade/metodo: EXECUTE.
    Este metodo ou propriedade não está disponivel porque o documento nao e um documento principal de mala direta.
  5. joelscampos

    joelscampos Membro Participativo

    Rogerio, vc está tentando gerar uma mala direta?

    Se sim, segue um código para mala etiqueta:

    Código:
        /*------------------------------- VARIAVEIS ENTRADA ---------------------------*/
        DEF INPUT PARAMETER nm-arquivo-dados-aux    AS CHAR                 NO-UNDO. /*arquivo csv*/
        DEF INPUT PARAMETER nm-arquivo-modelo-aux   AS CHAR                 NO-UNDO. /*arquivo .dot, que é modelo pronto para mesclar*/
    
    
    /*------------------------------- VARIAVEIS -----------------------------------*/
        DEF VAR wrdApp                              AS COM-HANDLE           NO-UNDO.
        DEF VAR wrdDoc                              AS COM-HANDLE           NO-UNDO.
        DEF VAR wrdMerger                           AS COM-HANDLE           NO-UNDO.
        DEF VAR strTemplateName                     AS CHAR                 NO-UNDO.
        DEF VAR strDataSourceDB                     AS CHAR                 NO-UNDO.
        DEF VAR strDataSourceTable                  AS CHAR                 NO-UNDO.
    
        SYSTEM-DIALOG PRINTER-SETUP.  /*seleciona impressora*/
    
        CREATE "Word.Application" wrdApp.
    
       
        wrdApp:ActivePrinter = SESSION:PRINTER-NAME.
    
        strDataSourceDB = nm-arquivo-dados-aux.
        strTemplateName = nm-arquivo-modelo-aux.
    
    
        wrdDoc = wrdApp:Documents:Add(strTemplateName).
    
        wrdMerger = wrdDoc:MailMerge.
        /*
        Types of mail merge document:
            0 - Form letter
            1 - Mailing label
            2 - Envelope
            3 - Directory
            3 - Catalog
            4 - E-mail message
            5 - Fax
            -1 - Not a merge document
        Fonte: https://msdn.microsoft.com/en-us/library/office/ff198256.aspx
        */
        wrdMerger:MainDocumentType = 1. /* 1 - Mailing label */
       
        wrdMerger:OpenDataSource(strDataSourceDB,   /*data source file name*/
                                 ,                  /*Format*/
                                 ,                  /*ConfirmConversions*/
                                 ,                  /*ReadOnly*/
                                 True,              /*LinkToSource*/
                                 False,             /*AddToRecentFiles*/
                                 /*Connection*/).
       
        /*
        Destination for mail merge results:
            0 - Send results to a new Word document
            1 - Send results to a printer
            2 - Send results to e-mail recipient
            3 - Send results to fax recipient
        */
        wrdMerger:Destination = 1. /* 1 - Send results to a printer */
        wrdMerger:Execute().
       
       
        wrdDoc:Close(False).
        wrdApp:Quit().

Compartilhe esta Página