Manipular Cabeçalho Word

Discussão em 'Progress 4GL' iniciado por pitsa, Agosto 19, 2009.

  1. pitsa

    pitsa Membro Participativo

    Olá!

    Tentei de todas as maneiras possiveis (i think) manipular o cabeçalho de um arquivo Word. Via outras linguagens é possivel utilizar o handle application:activedocument:StoryRanges do Word para localizar objetos como Cabeçalhos, rodapés, caixas de texto, etc. Via progress não consegui manipular este objeto.

    Tentei também manipular o objeto application:activedocument:Sections[1]:Headers[1] mas o progress também não consegue manipulá-lo.

    O que preciso fazer e substituir uma palavra em qualquer parte do documento, mas via simples Find:Execute (abaixo) não substitui no cabeçalho do documento, somente no corpo do documento.

    application:activedocument:Content:Find:Execute(p-busca,
    TRUE,
    FALSE,
    FALSE,
    FALSE,
    false,
    true,
    1,
    FALSE,
    p-troca,
    1).

    Se você souber se é possivel (ou não) me diga pls :roll:
  2. pitsa

    pitsa Membro Participativo

    consegui! segue exemplo que escrevi de como substituir no cabeçalho e rodape:

    do i-cont = 1 to Document:Sections:count:

    oSection = Document:Sections:ITEM(i-cont).

    do i-cont2 = 1 to oSection:headers:count:

    oHeader = oSection:Headers:item(i-cont2).

    /*MESSAGE valid-handle(oHeader) oHeader:Range:text
    VIEW-AS ALERT-BOX INFO BUTTONS OK.*/

    oHeader:Range:tables:ITEM(1):Select().
    SELECTION = Document:Application:Selection.

    SELECTION:Find:Execute(p-busca,
    TRUE,
    FALSE,
    FALSE,
    FALSE,
    false,
    true,
    1,
    FALSE,
    p-troca,
    1).

    end.

    end.
  3. alexfowler

    alexfowler Membro Participativo

    Outra maneira é, por exemplo:

    /* vai para o rodape */
    wordAppl:activewindow:activepane:view:seekview = 4.

    E entao voce pode usuar sua funcao de troca no rodape.

    /* volta para o corpo */
    wordAppl:activewindow:activepane:view:seekview = 0.

    Nao lembro de cabeca o numero que tem de utilizar para entrar no cabecalho, mas com certeza é algo entre 1 e 3.

    [ ]´s
    Alexandre

Compartilhe esta Página