شارون سندی دریافت کرد که شامل جداول زیادی در آن است. او کل سند را با استفاده از Ctrl+A انتخاب کرد و سپس تنظیمات زبان سند را تغییر داد. با این حال، این تنظیمات زبان را برای هیچ یک از متن های موجود در جداول تغییر نداد. شارون به این فکر می کند که آیا راهی برای تغییر تنظیمات زبان برای تمام متن های سند وجود دارد یا خیر.
در انجام برخی آزمایشها، متوجه شدیم که اگر سندی دارید که شامل جداول است، وقتی Ctrl+A را فشار میدهید و تنظیمات زبان را تغییر میدهید، آن پاراگرافهای جدول نیز مانند پاراگرافهای معمولی تحت تأثیر قرار میگیرند. تنها زمانی که این اتفاق نیفتاد این است که جدول در بخش "غیر بدنه" سند باشد، مانند کادر متن، شکل، سرصفحه، پاورقی، یادداشتهای پایانی یا پاورقی. در آن موارد، متن در آن عناصر تحت تأثیر قرار نگرفت.
تنها راه برای تأثیرگذاری بر هر یک از این مناطق استفاده از ماکرو است. به عنوان مثال، در اینجا یک ماکرو ساده وجود دارد که از هر یک از StoryRanges در سند عبور می کند و زبان هر پاراگراف را تغییر می دهد:
Sub ChangeLanguage()
Dim r As Range
Dim p As Paragraph
For Each r In ActiveDocument.StoryRanges
For Each p In r.Paragraphs
p.Range.LanguageID = wdEnglishUK
Next p
Next r
End Sub
تنظیمات زبان، در این ماکرو، روی انگلیسی بریتانیا تنظیم شده است. اگر میخواهید روی زبان دیگری تنظیم شود - و تعداد زیادی از آنها وجود دارد - میتوانید از یکی از شمارشهای فهرست شده در این صفحه استفاده کنید:
https://msdn.microsoft.com/en-us/VBA/Word-VBA/articles/wdlanguageid-enumeration-word
برای اکثر افراد، ماکرو ساده باید به خوبی کار کند. با این حال، اگر سند پیچیدهتری دارید، ممکن است هنوز برخی از مناطق را بیابید که زبان تغییر نکرده است. در این صورت، ممکن است ماکرو در صفحه زیر مفید باشد:
https://cybertext.wordpress.com/2011/10/14/word-macro-to-set-the-language-for-most-eleme/