Söka text Inte Använda ett visst teckensnitt

April 28

Hilary konstaterar att de flesta av de dokument som deras företag använder är standardiserade på en Times Roman. Men då och då kommer någon att redigera ett dokument och använda ett annat teckensnitt till några av texten det innehåller. Hon vill att enkelt hitta dessa "formaterings anomalier." Hilary undrar om det finns ett sätt att söka ett dokument för text som inte använder ett visst teckensnitt.

Det finns ett par sätt som du kan gå om att hitta vad du behöver och, eventuellt, fastställande av problemet. Först kan du använda Sök och ersätt på detta sätt:

  1. Tryck på Ctrl + F. Word visas fliken Sök i Sök och ersätt dialogrutan.
  2. Klicka på knappen Mer, om det är tillgängligt.
  3. Se rutan Sök är tom.
  4. Klicka Format och välj sedan Font. Word visas Hitta dialogrutan Teckensnitt. (Se figur 1.)

    Söka text Inte Använda ett visst teckensnitt

    Figur 1. Hitta dialogrutan Font ruta.

  5. Använd kontrollerna i dialogrutan för att ange att du vill hitta Times Roman teckensnitt du använder. (Bara välja teckensnitt. Du behöver inte ange några andra inställningar om du inte vill.)
  6. Klicka på OK. Teckensnitts specifikationer du söker visas precis under rutan Sök.
  7. Klicka på Markera alla artiklar kryssrutan.
  8. Klicka på Sök alla.

Vid denna punkt, stänger dialogrutan och Word belyser plikttroget alla förekomster av Times Roman i dokumentet. Du kan enkelt bläddra igenom dokumentet för att se vad som inte markeras-det är de "anomalier" du söker.

Du kan också använda Sök och ersätt för att tillämpa vissa sticker ut formatering till text som inte är i Times Roman. Bara räkna ut någon formatering som du inte använder i dokumentet, såsom dubbla understrykningar eller röd text. Välj hela dokumentet (Ctrl + A) och tillämpa formatering för hela dokumentet. Använd sedan Sök och ersätt för att hitta alla instanser till Times Roman (se ovanstående steg) och ersätta den med Times Roman utan stand-out formatering du tidigare tillämpats. Vad du sluta med är bara texten som inte är Times Roman formaterad med stand-out formatering.

Om du vill kan du använda ett makro för att ändra teckensnittet som används i dokumentet. Följande är en kort liten makro som ser på det teckensnitt som används för varje ord i dokumentet:

Sub FixFormatAnomalies ()
Dim aword

För varje aword I ActiveDocument.Words
Om aWord.Font.Name <> "Times Roman" Då
aWord.Font.Name = "Times Roman"
End If
Nästa aword
End Sub

Om teckensnittet som används för ett ord inte stämmer vad du vill, så rutinen ändrar teckensnittet. Det enda du behöver göra för att göra makro arbetet i ditt fall är att ändra det önskade teckensnitt namn på två rader. (Du vill använda teckensnitt exakt som det visas i listan över teckensnitt som kan användas av Word. Var särskilt uppmärksam på kapitalisering.)

Ett annat sätt är att ta varje tecken i dokumentet och markera karaktär om den inte använder din önskat teckensnitt. Följande makro belyser de störande tecken i gult:

Sub HighlightOtherFonts ()
Dim iCounter As Integer
Dim sFontName As String
Dim sPrompt As String
Dim sTitle As String
Dim sDefault As String
Dim c Som Range

"Hämtar namnet på typsnitt som skrivs av användaren
sPrompt = "Skriv namnet på teckensnittet som är OK att"
sPrompt = sPrompt & "har i dokumentet."
sTitle = "Accept Teckensnitt"
sDefault = ActiveDocument.Styles (wdStyleNormal) .Font.Name
sFontName = InputBox (sPrompt, sTitle, sDefault)

"Verifierar att namnet på typsnittet är giltigt
För varje sFont In Application.FontNames
Om ucase (sFontName) = ucase (sFont) Då
"Ändrar användar skrivit namnet på teckensnittet till
"Den version som erkänns av ansökan
"Exempel:" Times New Roman "(användar skrivit) är
"Ändras till" Times New Roman "(ansökan version)
sFontName = sFont
Exit For
Else
"Avslutar slingan om namnet på typsnittet är ogiltig
iCounter = iCounter + 1
Om iCounter = FontNames.Count Därefter
sPrompt = "teckensnittsnamn som maskinskriven stämmer inte"
sPrompt = sPrompt & "alla tillgängliga teckensnitt för"
sPrompt = sPrompt & "ansökan".
sTitle = "Teckensnitt Not Found"
MsgBox sPrompt, vbOKOnly, sTitle
Exit Sub
End If
End If
Nästa sFont

"Kontrollerar varje tecken i dokumentet, markera
"Om karaktärens teckensnitt inte matchar OK typsnitt
För varje c I ActiveDocument.Characters
Om c.Font.Name <> sFontName Därefter
"Markera den markerade textområde i gult
c.FormattedText.HighlightColorIndex = wdYellow
End If
Nästa c
End Sub

En av de trevliga funktioner för detta makroekonomiska är att den frågar efter det teckensnitt som du hittar acceptabelt. Den kontrollerar sedan att se till att det du anger matchar något av de typsnitt som finns i systemet. Eftersom makrokontroller varje tecken i dokumentet individuellt, kan du behöva ha tålamod medan den är igång. Ju längre dokumentet, desto längre makrot tar att slutföra sitt arbete.

Om du bara vill söka efter nästa förekomst av ett typsnitt förändring, då följande mycket kort makro är ganska praktiskt:

Sub FindDifferentFont ()
Selection.SelectCurrentFont
Selection.Collapse wdCollapseEnd
End Sub

Den SelectCurrentFont Metoden förlänger den aktuella markeringen tills det sker en förändring i antingen typsnitt (typsnitt) eller teckenstorleken. Så om du börjar i början av dokumentet och kör makrot (kanske du kan tilldela den till ett kortkommando), sedan insättningspunkten flyttas till där det aktuella teckensnittet slutar och ett nytt typsnitt börjar.

WordTips är din källa för kostnadseffektiv Microsoft Word utbildning. (Microsoft Word är det mest populära ordbehandlingsprogram i världen.) Detta tips (11069) gäller Microsoft Word 97, 2000, 2002, och 2003. Du kan hitta en version av detta tips för menyfliksområdet i Word (Word 2007 och senare) här: Söka text inte använder ett visst teckensnitt.