1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Page Break Dinâmico

Discussão em 'Programação' iniciada por kaos, 24 de Julho de 2007. (Respostas: 5; Visualizações: 684)

  1. kaos

    kaos Power Member

    Viva pessoal
    Precisava da vossa ajuda para fazer uma macro de Word.
    Preciso de inserir um page break sempre que o caracter "#" está presente no texto.
    Isto é um documento que é importado de um ficheiro de texto e é para imprimir, mas para inserir um page break sempre que aparece o referido caracter e tem vários.
    Obrigado
     
  2. b1t dA3m0n

    b1t dA3m0n Power Member

    Experimenta com um macro assim:

    Código:
    Sub CreateLineBreaks()
    '
    ' CreateLineBreaks Sub
    '
    '
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = "#"
            .Replacement.Text = "^l"
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
    End Sub
    
     
  3. kaos

    kaos Power Member

    bem, isso fez nada mais que um replace do caracter # por spaces
    a intenção era fazer um page break em vez do replace...
     
  4. b1t dA3m0n

    b1t dA3m0n Power Member


    Podias ter adaptado, assim o efeito de aprendizagem era maior :-D
    Mas aqui vai:

    Código:
    Sub InsertPageBreak()
    '
    ' InsertPageBreak
    '
    '
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = "#"
            .Replacement.Text = "#^m"
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
    End Sub
    
     
  5. kaos

    kaos Power Member

    obrigado já funciona, já fiz uma macro onde abre o ficheiro e faz pagebreaks e imprime.
    o meu negócio é mais cobol e rpg...

    obrigado pela ajuda
     
  6. K0mA

    K0mA Power Member

    Onde é que aprenderam o VBA do Microsoft Word ?
    Algum livro ou sítio em especial ?
     

Partilhar esta Página