Não lista excel

Discussão em 'EMS , HCM e Totvs 11' iniciado por Carlos Alberto Giusti, Maio 9, 2023.

  1. Carlos Alberto Giusti

    Carlos Alberto Giusti Membro Ativo

    estou usando a rotina abaixo e apenas abre o excel mas não coloca nada que informei nas linha 1 e 3 colunas A B C

    DEFINE VARIABLE chexcelapplication AS office.iface.excel.ExcelWrapper NO-UNDO.
    DEFINE VARIABLE chworksheet AS office.iface.excel.WorkSheet NO-UNDO.
    DEFINE VARIABLE chworkbook AS office.iface.excel.Workbook NO-UNDO.
    DEFINE VARIABLE cell AS office.iface.excel.WorkSheet NO-UNDO.
    DEFINE VARIABLE i-linha AS INTEGER NO-UNDO.

    &IF DEFINED(OFFICE_WRAPPERS) &THEN &UNDEFINE OFFICE_WRAPPERS &ENDIF
    {office/office.i Excel chexcelapplication}
    IF ERROR-STATUS:ERROR THEN DO:
    RUN utp/ut-msgs.p (INPUT "show",
    INPUT 17006, /*Erro*/
    INPUT "Excel.":U +
    "~~" +
    "Microsoft Excel 2007 não está instalado":U).
    RETURN "NOK".
    END.

    chexcelapplication:APPLICATION:DisplayAlerts = FALSE.

    chexcelapplication:workbooks:add() .
    chexcelapplication:ActiveSheet:range("A1:M" + string(i-linha)):COPY().
    chexcelapplication:VISIBLE = FALSE.
    chexcelapplication:quit() NO-ERROR.

    chexcelapplication:workBooks:ADD().

    ASSIGN chWorkSheet = chexcelapplication:Sheets:Item(1)
    cell = chexcelapplication:activesheet.

    assign chexcelapplication:ActiveSheet:range("A1:A1"):value = "Nome"
    chexcelapplication:ActiveSheet:range("B1:A1"):value = "Sexo"
    chexcelapplication:ActiveSheet:range("C1:C1"):value = "Idade".

    assign chexcelapplication:ActiveSheet:range("A3:A3"):value = "Carlos"
    chexcelapplication:ActiveSheet:range("B3:A3"):value = "Masc"
    chexcelapplication:ActiveSheet:range("C3:C3"):value = "65".

    chexcelapplication:VISIBLE = TRUE.

    /* chexcelapplication:quit() NO-ERROR. */
    /* */
  2. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Não precisa colocar todo esse range, basta só informar a célula:

    chWorkSheet:range("A1"):VALUE = "Nome".

    Porque tu faz o assign do chWorkSheet mas não usa ele embaixo??
  3. Carlos Alberto Giusti

    Carlos Alberto Giusti Membro Ativo

    obrigado. deu certo.
  4. Carlos Alberto Giusti

    Carlos Alberto Giusti Membro Ativo

Compartilhe esta Página