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.
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.
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.
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().