Excel x Progress
Criando variáveis COM-HANDLE para interação do Progress com o Excel
DEF VAR excelappl AS COM-HANDLE NO-UNDO.
DEF VAR ChWorkSheet AS COM-HANDLE NO-UNDO.
Criando a aplicação Excel
CREATE "excel.application" excelappl.
Abrir um arquivo (2 formas).
1 – em branco excelappl:workbooks:ADD(). 2 – Utilizando um modelo já existente do excel excelappl:workbooks:ADD(c-modelo). Onde c-modelo é o nome do arquivo excel modelo. Essa variável deve ter o conteúdo completo do arquivo, ou seja, diretório + nome do arquivo (usar sempre arquivo .xlt -> modelo)
Fechando o Excel
excelappl:quit().
Usar apenas quando quiser fechar o excel, como por exemplo após uma impressão. Se quiser que o arquivo fique aberto para consulta ou para salvá-lo manualmente, não utilizar esse comando.
Esse comando fecha a planilha excel mas não libera o handle da aplicação, vide nota abaixo.
Liberando o Handle ao final da execução
(muito importante, inserir esse comando sempre ao final do programa, pois mesmo se o Excel é fechado pelo usuário, a handle fica na memória.)
RELEASE OBJECT excelappl NO-ERROR.
RELEASE OBJECT chWorksheet NO-ERROR.
Repetir o Release para todas as variáveis com-handle.
Selecionar pastas
excelappl:worksheets:ITEM(1):SELECT.
O número relacionado ao ITEM é a pasta que deseja selecionar
Adicionar pastas
excelappl:sheets:ADD.
Quando o comando acima é executado, a nova planilha criada passa a ser a corrente. Caso queira inserir informações em outras planilhas, é necessário selecionar a planilha desejada conforme tópico acima.
Copiar pastas
excelappl:sheets:item("Plan 1"):activate. excelappl:Sheets("Plan 1"):Copy(excelappl:Sheets(1)).
"Plan 1" é o nome da pasta a ser copiada. (geralmente o excel sugere "Plan 1"). Se for diferente, basta substituir.
Sheets(1) é o lugar onde a pasta será copiada. 1 é a primeira pasta,