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:
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.
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