Boa tarde, Gostaria de saber se existe a possibilidade de mesclar vários arquivos Excel em um só, por exemplo: Dentro do For each estou importando o modelo e atribuindo o valor da tabela na célula desejada, porém ao invés de abrir um arquivo com todos os registros está abrindo vários arquivos, um para cada registro. Segue o código: PROCEDURE pi-imprime: DEFINE VARIABLE ch-Excel AS COM-HANDLE NO-UNDO. DEFINE VARIABLE i AS INTEGER INITIAL 2 NO-UNDO. CREATE "Excel.Application" ch-Excel. FOR EACH estabelecimento : DEFINE VARIABLE ch-Worksheet AS COM-HANDLE NO-UNDO. DEFINE VARIABLE ch-Workbook AS COM-HANDLE NO-UNDO. ch-Workbook = ch-Excel:WorkBooks:ADD(SEARCH("modelo.xlsx")). ch-Excel:Sheets(1):select(). ch-Worksheet = ch-Workbook:sheets:item(1). ch-Worksheet:range('L' + STRING(i)):VALUE = estabelecimento.cod-estabel. ch-Workbook:saved = TRUE. RELEASE OBJECT ch-Worksheet NO-ERROR. RELEASE OBJECT ch-Workbook NO-ERROR. ASSIGN i = i + 2. /* Numero de linhas que vai pular na coluna 'L' */ END. ch-Excel:VISIBLE = TRUE. RELEASE OBJECT ch-Excel NO-ERROR. END PROCEDURE. Se alguem puder me ajudar ficarei muito agradecido.
olá. se entendi é isso. Código: PROCEDURE pi-imprime: DEFINE VARIABLE ch-Excel AS COM-HANDLE NO-UNDO. DEFINE VARIABLE i AS INTEGER INITIAL 2 NO-UNDO. CREATE "Excel.Application" ch-Excel. DEFINE VARIABLE ch-Worksheet AS COM-HANDLE NO-UNDO. DEFINE VARIABLE ch-Workbook AS COM-HANDLE NO-UNDO. ch-Workbook = ch-Excel:WorkBooks:ADD(SEARCH("modelo.xlsx")). ch-Excel:Sheets(1):select(). ch-Worksheet = ch-Workbook:sheets:item(1). FOR EACH estabelecimento NO-LOCK: /* <============= Não trave a tabela */ ch-Worksheet:range('L' + STRING(i)):VALUE = estabelecimento.cod_estab. ASSIGN i = i + 2. /* Numero de linhas que vai pular na coluna 'L' */ END. ch-Workbook:saved = TRUE. RELEASE OBJECT ch-Worksheet NO-ERROR. RELEASE OBJECT ch-Workbook NO-ERROR. ch-Excel:VISIBLE = TRUE. RELEASE OBJECT ch-Excel NO-ERROR. END PROCEDURE. RUN pi-imprime.