موشه یک سند Word دارد که توسط یک ویرایشگر کپی ویرایش شده است. هر جایی که ویرایشگر نظری را درج کرد، با یک پرانتز چپ شروع میشود و به دنبال آن "ed note:"، سپس یادداشت و در نهایت پرانتز سمت راست. برای فرآیندهای داخلی موشه، داشتن این یادداشتها بهعنوان کامنتهای واقعی Word سودمندتر است. او نمیداند آیا راهی برای خودکار کردن یافتن این یادداشتهای درون متنی و پنهان کردن آنها در نظرات Word وجود دارد.
راه برای خودکار کردن این فرآیند از طریق استفاده از یک ماکرو است. ماکرو میتواند به قابلیتهای Find and Replace Word تکیه کند، اما هر زمان که یک نظر منطبق یافت میشود، مقداری پردازش اضافه میکند.
Sub NoteToComment()
Dim sTemp As String
Selection.HomeKey Unit:=wdStory
With Selection.Find
.ClearFormatting
.Text = "(ed note:*)"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.MatchWildcards = True
End With
Do While Selection.Find.Execute
sTemp = Selection.Text
sTemp = Mid(sTemp, 10, Len(sTemp) - 11)
sTemp = Trim(sTemp)
Selection.Text = ""
Selection.MoveEnd unit:=wdCharacter
Selection.MoveStart unit:=wdCharacter, Count:=-1
If Selection.Text = " " Then Selection.Text = " "
Selection.Collapse
ActiveDocument.Comments.Add Range:=Selection.Range, Text:=sTemp
Loop
End Sub
ماکرو ابتدا به ابتدای سند می رود، سپس شرایط جستجو را تنظیم می کند. آنچه به دنبال آن است الگویی است که موشه یادداشت کرد - یک پرانتز سمت چپ و به دنبال آن "ed note:"، سپس یادداشت، و در نهایت یک پرانتز سمت راست - این دنباله به ویژگی .Text شی Find اختصاص داده می شود. توجه داشته باشید که هر پرانتز یک اسلش در جلوی خود دارد. اگر این اسلشهای معکوس درج نمیشد، Word پرانتزها را به عنوان کاراکترهای کنترلی در الگوی جستجو در نظر میگرفت.
در حلقه Do while که هر بار که نظر منطبق پیدا می شود وارد می شود، متغیر sTemp روی متن نظر تنظیم می شود. 9 کاراکتر اول حذف میشوند (اینها "(یادداشت ویرایش:") به همراه پرانتز نهایی سمت راست هستند. نظر از سند حذف میشود و اگر پس از حذف چندین فاصله باقی بماند، آنها نیز حذف میشوند. یک نظر واقعی اضافه می شود که حاوی متن در متغیر sTemp است.
هنگام استفاده از این ماکرو باید یک چیز را به خاطر بسپارید: این بستگی به تطبیق صحیح الگوی نظر دارد. این بدان معناست که اگر نظراتی وجود داشته باشد که دقیقاً از الگوی پیروی نمی کنند، ممکن است آن ها پیدا نشوند و تبدیل شوند. اظهارات پرانتزی در کامنت (به عبارت دیگر، پرانتزهای تو در تو در نظر وجود دارد)، که آنچه را که با جستجوی حروف عام پیدا میشود و سپس به کامنت ختم میشود، خراب میکند.