برای برخی از اسناد، ممکن است نیاز داشته باشید که زیر اطلاعات داخل نقل قول خط بکشید. به عنوان مثال، برای برخی از اسناد حقوقی ممکن است لازم باشد همه مطالب را که با نقل قول احاطه شده اند، پیدا کنید و سپس اطلاعات را بین نقل قول ها که زیر آنها خط کشیده شده است، تهیه کنید. این با نثر نویسی معمولی متفاوت است، جایی که شما می توانید از زیر خط یا نقل قول استفاده کنید، اما از هر دو استفاده نکنید.
اگر نیاز به جستجوی تمام متن های نقل شده و خط دار کردن آن دارید، می توانید از ماکرو زیر استفاده کنید. گیومه ها را جستجو می کند و وقتی یکی را پیدا کرد، زیر همه چیز تا علامت نقل قول بعدی خط می کشد. توجه داشته باشید که در واقع زیر علامت نقل قول ها خط نمی کشد.
Sub UnderlineQuoted()
Dim bDelQuotes As Boolean
Dim bMvRt As Boolean
Selection.HomeKey Unit:=wdStory
" controls deletion of quote marks
bDelQuotes = False
With Selection.Find
.ClearFormatting
.Text = Chr(34)
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Execute
End With
While Selection.Find.Found
Selection.MoveRight Unit:=wdCharacter, Count:=1
" switch on selection extend mode
Selection.ExtendMode = True
bMvRt = True
" find second quote of this pair
Selection.Find.Execute
If Selection.Find.Found Then
Selection.MoveLeft Unit:=wdCharacter, Count:=1
If Len(Selection.Range.Text) > 0 Then
" make it underlined
Selection.Font.Underline = True
" delete quote marks, if appropriate
If bDelQuotes Then
Selection.Cut
Selection.TypeBackspace
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Paste
bMvRt = False
End If
End If
End If
Selection.ExtendMode = False
If bMvRt Then
Selection.Collapse Direction:=wdCollapseEnd
Selection.MoveRight Unit:=wdCharacter, Count:=1
End If
Selection.Find.Execute
Wend
End Sub
به تنظیمات متغیر bDelQuotes توجه کنید. اگر روی False تنظیم شود (همانطور که اینجا است)، خود علامتها توسط ماکرو حذف نمیشوند. اگر مقدار متغیر را به True تغییر دهید، ماکرو از شر علامتهای نقل قول در سند خلاص میشود. توجه داشته باشید که تنها زمانی از شر علامتهای نقل قول خلاص میشود که واقعاً زیر متن بین آن علامتها خط بکشد.