Macros no word

Anônima
2022-12-01T03:06:57+00:00

Eu já criei algumas macros no word, porém não sei quais métodos ou propriedades usar para que as ações aconteçam a partir da seleção simples e prévia de um intervalo de texto. Quando eu gravo as macros, as substituições acontecem no documento inteiro e não apenas na seleção que eu fiz. Sei que as ações com o mouse não são gravadas, por isso não consigo saber quais comandos usar.

Microsoft 365 e Office | Word | Para uso doméstico | Outro

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

17 respostas

Classificar por: Mais útil
  1. Anônima
    2022-12-05T17:03:20+00:00

    Oh desculpe, eu relacionei depois que eu enviei-lo que eu testei em todo o texto e não uma seleção menor.

    Você;' precisará obter os intervalos de início e fim - o que você pode fazer com isso

    Sub test3()
    Dim wRange As Word.Range

    Dim wRangeLimit As Word.Range

    Set wRange = Selection.Range

    Set wRangeLimit = wRange.Duplicate

    With wRange.Find

    .ClearFormatting 
    
    .Replacement.ClearFormatting 
    
    .Text = "÷" 
    
    .Replacement.Text = "/" 
    
    .Forward = True 
    
    .Wrap = wdFindAsk 
    
    .Format = False 
    
    .MatchCase = False 
    
    .MatchWholeWord = False 
    
    .MatchKashida = False 
    
    .MatchDiacritics = False 
    
    .MatchAlefHamza = False 
    
    .MatchControl = False 
    
    .MatchWildcards = False 
    
    .MatchSoundsLike = False 
    
    .MatchAllWordForms = False 
    
      While .Execute 
    
      If wRange.InRange(wRangeLimit) Then 
    
        wRange.Text = "/" 
    
        wRange.Collapse wdCollapseEnd 
    
      Else 
    
        Exit Sub 
    
      End If 
    
    Wend 
    

    End With

    Selection.Find.Execute Replace:=wdReplaceAll

    End Sub

    Esta resposta foi traduzida automaticamente. Como resultado, pode haver erros gramaticais ou expressões estranhas.

    Esta resposta foi útil?

    1 pessoa achou esta resposta útil.
    0 comentários Sem comentários
  2. Anônima
    2022-12-01T06:50:40+00:00

    Olá Elias,

    Obrigado por entrar em contato aqui sobre esta consulta.

    Antes de podermos prosseguir com a sua assistência em conformidade, por favor, considere o seguinte: • Com qual dispositivo operacional e versão do Ms Word você está lidando? • Você foi capaz de usar macros sem esse problema no passado? • Só para esclarecer, você quer dizer que você executa um comando Macros especificado para um intervalo de seleção de texto, mas ele se aplica a todo o documento?

    Poderei usar as informações de feedback relevantes que você fornecer para ver melhor como posso ajudá-lo com a experiência que você está tendo. Obrigado!

    Atenciosamente, Albert

    Esta resposta foi traduzida automaticamente. Como resultado, pode haver erros gramaticais ou expressões estranhas.

    Esta resposta foi útil?

    1 pessoa achou esta resposta útil.
    0 comentários Sem comentários
  3. Anônima
    2022-12-03T22:33:40+00:00

    Qual código VBA você está usando para selecionar o texto? A ajuda do VBA da Microsoft tem alguns exemplos de código - https://learn.microsoft.com/office/vba/api/word.selection.text">https://learn.microsoft.com/office/vba/api/word.selection.text e https://learn.microsoft.com/office/vba/word/concepts/customizing-word/selecting-text-in-a-document e https://learn.microsoft.com/office/vba/api/word.selection -

    Esta resposta foi traduzida automaticamente. Como resultado, pode haver erros gramaticais ou expressões estranhas.

    Eu tenho que aplicar uma formatação antes para conseguir fazer o que quero, pois não sei qual código usar.

    Selection.Find.Replacement.ClearFormatting 
    
    With Selection.Find.Replacement.Font 
    
        .StrikeThrough = True 
    
        .DoubleStrikeThrough = False 
    
    End With 
    
    With Selection.Find 
    
        .Text = "÷" 
    
        .Replacement.Text = "/" 
    
        .Forward = True 
    
        .Wrap = wdFindContinue 
    
        .Format = True 
    
        .MatchCase = False 
    
        .MatchWholeWord = False 
    
        .MatchWildcards = False 
    
        .MatchSoundsLike = False 
    
        .MatchAllWordForms = False 
    
    End With 
    
    Selection.Find.Execute Replace:=wdReplaceAll
    

    Supondo que eu selecione com o mouse o que está em destaque e depois clique no botão da macro para mudar (apenas o que selecionei): "÷" para "/" e "{-" para "_"

    http÷÷www.casa{-cultura.com.br÷A1995

    9÷3=3

    9÷3=3

    {-1995}

    Ficando assim:

    http//www.casa_cultura.com.br/A1995

    9÷3=3

    9÷3=3

    {-1995}

    Qual código eu poderia usar?

    Esta resposta foi útil?

    0 comentários Sem comentários
  4. Anônima
    2022-12-03T18:06:30+00:00

    Qual código VBA você está usando para selecionar o texto?

    A ajuda do VBA da Microsoft tem alguns exemplos de código - https://learn.microsoft.com/office/vba/api/word.selection.text">https://learn.microsoft.com/office/vba/api/word.selection.text e https://learn.microsoft.com/office/vba/word/concepts/customizing-word/selecting-text-in-a-document e https://learn.microsoft.com/office/vba/api/word.selection -

    Esta resposta foi traduzida automaticamente. Como resultado, pode haver erros gramaticais ou expressões estranhas.

    Esta resposta foi útil?

    0 comentários Sem comentários
  5. Anônima
    2022-12-01T19:50:16+00:00

    Eu uso o office 365, com windows.

    Eu nunca consegui fazer funcionar a macro apenas selecionando o texto antes, pois eu uso a gravação de macro para fazer as ações que quero. E como não grava o que faço com o mouse, então ele não reconhece que selecionei um trecho de texto. Por isso ele modifica todo o documento e não apenas o trecho que quero fazer alterações de texto.

    Para fazer isso acontecer eu tenho que aplicar uma formatação de texto diferente e depois "pedir" para a macro modificar apenas no texto que tem a formatação diferente.

    Imagino que não é o ideal e deve ter um script que faça modicar apenas o texto selecionado. Assim como a gente faz com negrito, itálico e tudo o mais.

    Esta resposta foi útil?

    0 comentários Sem comentários