Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  1. Na criação do objeto OLE deve ser alterado para atribuir uma instância da classe wrapper (Excel ou Word). A include inicializa a variável passada como parâmetro com base na configuração do arquivo datasul_framework.properties (Office).

    Bloco de código
    languageruby
    titleModelo antigo
    linenumberstrue
    CREATE "Excel.Application" chExcel.
    Bloco de código
    languageruby
    titleModelo novo
    linenumberstrue
    {office/office.i Excel chExcel}
  2. Na definição das variáveis que serão utilizadas na integração devem ser alteradas do tipo COMPONENT-HANDLE para o tipo CLASS apontando para a interface responsável pela implantação da funcionalidade nas classes Wrapper.

    Bloco de código
    languageruby
    titleModelo antigo
    linenumberstrue
    DEFINE VAR chExcel    AS COM-HANDLE NO-UNDO.
    DEFINE VAR chWorkbook AS COM-HANDLE NO-UNDO.
    DEFINE VAR chRange    AS COM-HANDLE NO-UNDO.
    Bloco de código
    languageruby
    titleModelo novo
    linenumberstrue
    DEFINE VAR chExcel    AS office.iface.excel.ExcelWrapper NO-UNDO.
    DEFINE VAR chWorkbook AS office.iface.excel.Workbook     NO-UNDO.
    DEFINE VAR chRange    AS office.iface.excel.Range        NO-UNDO.
  3. Alterar métodos que não passam parâmetros adicionando “?” ou utilizando um método correspondente sem os mesmos, quando existir.

    Bloco de código
    languageruby
    titleModelo antigo
    linenumberstrue
    chWorkbook:SaveAs(tt-param.arquivo,"56",,,,,,,,,,).
    Bloco de código
    languageruby
    titleModelo novo
    linenumberstrue
    chWorkbook:SaveAs(tt-param.arquivo,"56",?,?,?,?,?,?,?,?,?,?). ou chWorkbook:SaveAs(tt-param.arquivo,"56").
  4. Alterar atribuição à métodos por propriedades com extent.

    Bloco de código
    languageruby
    titleModelo antigo
    linenumberstrue
    chChart:HasAxis({&xlCategory}) = false.
    Bloco de código
    languageruby
    titleModelo novo
    linenumberstrue
    chChart:HasAxis({&xlCategory}, false).
  5. Alterar métodos que recebem como parâmetro a propriedade de outro objeto.

    Bloco de código
    languageruby
    titleModelo antigo
    linenumberstrue
    chWorksheet = chWorkbook:Sheets(chWorkbook:Sheets:COUNT).
    Bloco de código
    languageruby
    titleModelo novo
    linenumberstrue
    iWorkSheets = chWorkbook:Sheets:COUNT.
    chWorksheet = chWorkbook:Sheets(iWorkSheets).
  6. Alterar a atribuição da propriedade VALUE, que é CHARACTER, pela correspondente de acordo com o tipo (DATE, INTEGER, DECIMAL ou LOGICAL) em questão.

    Bloco de código
    languageruby
    titleModelo antigo
    linenumberstrue
    chWorksheet:Range('A1'):Value = da-conversao. /* Variável com o tipo data */
    Bloco de código
    languageruby
    titleModelo novo
    linenumberstrue
    chWorksheet:Range('A1'):DateValue = da-conversao. ou chWorksheet:Range('A1'):SetValue(da-conversao).
    Informações

    O método SetValue() recebe qualquer tipo de valor, independente da tipagem, porem não por ser utilizado dentro de um bloco de ASSIGN. Exemplo:

    chWorksheet:Range('A1'):SetValue('Valor da célula'). ou chWorksheet:Range('A1'):SetValue(10000).

             

  7. Alterar os RELEASEs de objetos OLE por DELETEs de objetos ABL, e caso seja a variável principal da API, o Excel, adicionar a chamada ao método "Release", para que o OLE automation na DLL seja liberado. Caso seja feita a verificação com VALID-HANDLE alterar para uma comparação com o valor desconhecido (?).

    Bloco de código
    languageruby
    titleModelo antigo
    linenumberstrue
    IF VALID-HANDLE(chExcel) THEN
       RELEASE OBJECT chExcel NO-ERROR.
    Bloco de código
    languageruby
    titleModelo novo
    linenumberstrue
    IF chExcel <> ? THEN
       DELETE OBJECT chExcel NO-ERROR.

Diferenças de

...

comportamento (MS Office x LibreOffice)

Existem algumas situações, no qual o comportamento da suíte LibreOffice é um pouco diferente do comportamento apresentado pelo Microsoft Office, e que podem ser considerados normais. Por mais que os fabricantes das soluções tendem a manter as funcionalidades equivalentes e compatíveis, é comum alguns pontos serem diferentes:

...

  • Abertura da ferramenta LibreOffice a partir de programas Progress: em alguns casos, a janela da ferramenta LibreOffice pode ser apresentada atrás da janela do aplicativo Progress.
  • Espaçamento em modelos construídos no MS Office e utilizados no LibreOffice: ao se utilizar um modelo salvo do MS Word junto ao LibreOffice Writer, poderá ocorrer diferenças de espaçamentos ou alinhamentos. Para ajuste deste caso, é necessário a modificação do modelo via LibreOffice de acordo com a necessidade de espaçamento e alinhamento.
  • Diferença de casas decimais entre modelos do MS Excel e LibreOffice Calc: Para planilhas modelos de cálculos utilizadas no MS Excel, ao se utilizar as mesmas no LibreOffice Calc deverá ser ajustada as casas decimais apresentadas em cada célula que compõem a saída de resultados para o aplicativo Progress. Esta situação fica mais evidente em planilhas modelos utilizadas no módulo de Aplicações e Empréstimos (APL).
  • Geração de gráficos e formatação de tabelas: poderão ocorrer diferenças visuais de formatação, tamanho e cores de gráficos e tabelas entre os documentos gerados pelas duas plataformas (MS Office x LibreOffice).

Conversão de modelos MS Word x LibreOffice Writer