Eu tenho um documento do Word com cerca de 100 páginas. Nele, há muitas palavras que estão sublinhadas.
No entanto, quando seleciono a palavra, o ícone de formatação de sublinhado não é destacado / aceso, mostrando que está sublinhado. Ímpar.
Então, eu verifiquei na janela imediata, ?Selection.Font.Underline
e ele retornou 9999999
. As palavras que fazem têm o ícone Underline aceso retornam 1
.
Como posso alterar rapidamente todos os estilos de sublinhado que são 9999999
para 1
?
Eu tentei Localizar / Substituir com "Sublinhado" e substituir por "Sublinhado", mas embora ele tenha encontrado com sucesso 999999
e 1
, a substituição não fez nada.
Eu até mesmo macrotei isso e fiz Selection.Find.Replacement.Font.Underline = 1
sem sucesso.
Atualmente, estou fazendo um loop em cada parágrafo, se para.Range.Font.Underline = 999999
for True, faça um loop em cada caractere e onde um caractere seja 999999
, faça com que 1
.
Então, minha pergunta é como posso fazer isso corretamente / mais rápido? Além disso, o que causa o 9999999
em primeiro lugar?
edit: Aqui está o código atual que eu tenho
Sub fixUline()
Dim doc As Document
Set doc = ActiveDocument
Application.ScreenUpdating = False
Dim para As Paragraph
For Each para In ActiveDocument.Paragraphs
If para.Range.Font.Underline = 9999999 Then
' para.Range.Select
For i = 1 To para.Range.Characters.Count
If para.Range.Characters(i).Font.Underline = 9999999 Then
' para.Range.Characters(i).Select
para.Range.Characters(i).Font.Underline = 1
End If
Next
End If ' ...Underline = 99999
Application.ScreenUpdating = True
Next para
MsgBox ("Done!")
End Sub
edit: também encontrei esta discussão , mas Executar a macro listada gera um erro de incompatibilidade de tipo de compilação na linha For Each oChr In ActiveDocument.Paragraphs(para)
Edit: aqui estão dois screenshots. A primeira é uma palavra sublinhada, mas observe como o Word não parece pensar assim:
eosegundotambémésublinhado,masoWordmostraosublinhadoselecionado: