هیلاری خاطرنشان می کند که بیشتر اسنادی که شرکت آنها استفاده می کند با فونت Times Roman استاندارد شده است. با این حال، هر چند وقت یکبار شخصی سندی را ویرایش میکند و فونت دیگری را برای برخی از متنهای موجود در آن اعمال میکند. او مایل است به راحتی آن "ناهنجاری های قالب بندی" را پیدا کند. هیلاری متعجب است که آیا راهی برای جستجوی یک سند برای متنی وجود دارد که از فونت خاصی استفاده نمی کند.
چند راه وجود دارد که می توانید برای یافتن آنچه نیاز دارید و به طور بالقوه، مشکل را برطرف کنید. ابتدا می توانید از Find and Replace به این صورت استفاده کنید:
شکل 1. کادر محاوره ای Find Font.
- Ctrl+F را فشار دهید . Word تب Find از کادر محاوره ای Find and Replace را نمایش می دهد. (اگر از Word 2010 یا نسخه جدیدتر استفاده می کنید، باید تب Home نوار را نمایش دهید، روی فلش رو به پایین در سمت راست ابزار Find کلیک کنید و سپس Advanced Find را انتخاب کنید.)
- در صورت موجود بودن دکمه More را کلیک کنید.
- مطمئن شوید که کادر Find What خالی است.
- روی Format کلیک کنید و سپس Font را انتخاب کنید. Word کادر محاوره ای Find Font را نمایش می دهد. (شکل 1 را ببینید.)
- از کنترل های موجود در کادر محاوره ای استفاده کنید تا مشخص کنید که می خواهید فونت Times Roman مورد استفاده خود را پیدا کنید. (فقط فونت را انتخاب کنید. لازم نیست تنظیمات دیگری را تعیین کنید مگر اینکه بخواهید.)
- روی OK کلیک کنید. مشخصات فونتی که به دنبال آن هستید درست در زیر کادر Find What ظاهر می شود.
- روی Reading Highlight کلیک کنید و Highlight All را انتخاب کنید. Word تمام نمونه های کلماتی را که با فونت انتخابی شما مطابقت دارند در سند برجسته می کند.
- Esc را فشار دهید.
در این مرحله، تمام موارد Times Roman در سند شما برجسته می شوند. میتوانید به راحتی در سند پیمایش کنید تا ببینید چه چیزی برجسته نشده است—اینها «ناهنجاریهایی» هستند که شما به دنبال آن هستید.
همچنین میتوانید از Find and Replace برای اعمال برخی قالببندیهای متمایز به متنی که با فونت Times Roman نیست استفاده کنید. فقط برخی از قالببندیهایی را که در سند استفاده نمیکنید، مانند دو خط زیر یا متن قرمز، بیابید. کل سند را انتخاب کنید ( Ctrl+A ) و آن قالب بندی را روی کل سند اعمال کنید. سپس از Find and Replace برای یافتن تمام نمونه های Times Roman استفاده کنید (مراحل بالا را ببینید) و آن را بدون قالب بندی برجسته ای که قبلاً اعمال کرده اید با Times Roman جایگزین کنید. چیزی که در نهایت به آن می رسید فقط متنی است که Times Roman با قالب بندی برجسته قالب بندی نشده است.
اگر ترجیح می دهید، می توانید از یک ماکرو برای تغییر فونت استفاده شده در سند استفاده کنید. زیر یک ماکرو کوچک است که به فونت استفاده شده برای هر کلمه در سند شما نگاه می کند:
Sub FixFormatAnomalies() Dim aWord For Each aWord In ActiveDocument.Words If aWord.Font.Name <> "Times Roman" Then aWord.Font.Name = "Times Roman" End If Next aWord End Sub
اگر فونت مورد استفاده برای یک کلمه با آنچه می خواهید مطابقت نداشته باشد، روال فونت را تغییر می دهد. تنها کاری که برای کارکرد ماکرو در کیس خود باید انجام دهید این است که نام فونت مورد نظر را در دو خط تغییر دهید. (شما می خواهید از نام فونت دقیقاً همانطور که در لیست فونت های قابل استفاده Word ظاهر می شود استفاده کنید. به حروف بزرگ توجه ویژه ای داشته باشید.)
روش دیگر این است که به سادگی هر کاراکتر در سند را بررسی کنید و اگر از فونت مورد نظر شما استفاده نمی کند، آن کاراکتر را برجسته کنید. ماکرو زیر کاراکترهای توهین آمیز را با رنگ زرد برجسته می کند:
Sub HighlightOtherFonts() Dim iCounter As Integer Dim sFontName As String Dim sPrompt As String Dim sTitle As String Dim sDefault As String Dim c As RangeGets the name of the font as typed by the user sPrompt = "Type the name of the font that is OK to " sPrompt = sPrompt & "have in the document." sTitle = "Acceptable Font Name" sDefault = ActiveDocument.Styles(wdStyleNormal).Font.Name sFontName = InputBox(sPrompt, sTitle, sDefault)Verifies that the name of the font is valid For Each sFont In Application.FontNames If UCase(sFontName) = UCase(sFont) ThenChanges the user-typed name of the font tothe version recognized by the applicationExample: times new roman (user-typed) ischanged to Times New Roman (application version) sFontName = sFont Exit For ElseTerminates the loop if the name of the font is invalid iCounter = iCounter + 1 If iCounter = FontNames.Count Then sPrompt = "The font name as typed does not match " sPrompt = sPrompt & "any fonts available to the " sPrompt = sPrompt & "application." sTitle = "Font Name Not Found" MsgBox sPrompt, vbOKOnly, sTitle Exit Sub End If End If Next sFontChecks each character in the document, highlightingif the characters font doesnt match the OK font For Each c In ActiveDocument.Characters If c.Font.Name <> sFontName ThenHighlight the selected range of text in yellow c.FormattedText.HighlightColorIndex = wdYellow End If Next c End Sub
یکی از ویژگیهای خوب این ماکرو این است که فونتی را که قابل قبول میدانید از شما میخواهد. سپس بررسی می کند تا مطمئن شود آنچه وارد می کنید با یکی از فونت های موجود در سیستم مطابقت دارد. از آنجایی که ماکرو هر کاراکتر سند را به صورت جداگانه بررسی می کند، ممکن است لازم باشد در حین اجرا صبور باشید. هرچه سند طولانیتر باشد، ماکرو بیشتر طول میکشد تا کار خود را کامل کند.
اگر به سادگی می خواهید وقوع بعدی تغییر فونت را پیدا کنید، ماکرو بسیار کوتاه زیر بسیار مفید است:
Sub FindDifferentFont() Selection.SelectCurrentFont Selection.Collapse wdCollapseEnd End sub
روش SelectCurrentFont انتخاب فعلی را تا زمانی که تغییری در فونت (تایپ) یا اندازه فونت ایجاد شود گسترش می دهد. بنابراین اگر از ابتدای سند شروع کنید و ماکرو را اجرا کنید (شاید بتوانید آن را به یک کلید میانبر اختصاص دهید)، سپس نقطه درج به جایی منتقل می شود که فونت فعلی به پایان می رسد و یک فونت جدید شروع می شود.