קוד עבור גרשיים (")
קוד זה בודק אם יש טקסט מסומן. אם יש – הוא עוטף אותו. אם אין – הוא מזין זוג גרשיים ומחזיר את הסמן צעד אחד אחורה.
VBA
Sub HandleQuotes()
Dim sel As Selection
Set sel = Application.Selection
' אם יש טקסט מסומן - עטיפת הטקסט בגרשיים
If sel.Type = wdSelectionNormal Then
Dim txt As String
txt = sel.Text
sel.Text = """" & txt & """"
' השארת הטקסט מסומן כולל הגרשיים (אופציונלי)
sel.MoveRight Unit:=wdCharacter, Count:=1
Else
' אם אין טקסט מסומן - יצירת זוג והזזת הסמן ביניהם
sel.TypeText Text:="""" & """"
sel.MoveLeft Unit:=wdCharacter, Count:=1
End If
End Sub
2. קוד עבור סוגריים עגולים ( ) )
הערה: המאקרו מופעל בעת לחיצה על הסוגר הפותח (במקלדת עברית תקנית מדובר במקש Shift + 0 המייצר את הסוגר הפותח החזותי ().
VBA
Sub HandleParentheses()
Dim sel As Selection
Set sel = Application.Selection
' אם יש טקסט מסומן - עטיפת הטקסט בסוגריים
If sel.Type = wdSelectionNormal Then
Dim txt As String
txt = sel.Text
sel.Text = "(" & txt & ")"
sel.MoveRight Unit:=wdCharacter, Count:=1
Else
' אם אין טקסט מסומן - יצירת זוג והזזת הסמן ביניהם
sel.TypeText Text:="()"
sel.MoveLeft Unit:=wdCharacter, Count:=1
End If
End Sub
כיצד להגדיר זאת ב-Word כדי שיעבוד אוטומטית בלחיצה?
לאחר העתקת הקוד לעורך ה-VBA (Alt + F11), יש לשייך את הרצת המאקרו למקשים הנכונים:
היכנס לקובץ (File) > אפשרויות (Options) > התאמה אישית של רצועת הכלים (Customize Ribbon).
בתחתית החלון, ליד Keyboard shortcuts, לחץ על התאם אישית... (Customize...).
בגלילה השמאלית (Categories), רד עד הסוף ובחר ב-Macros.
בגלילה הימנית, בחר ב-HandleQuotes.
לחץ על תיבת "Press new shortcut key", והקש על מקש הגרשיים במקלדת שלך. לחץ על Assign.
חזור על הפעולה עבור HandleParentheses ושייך אותו למקש הסוגר הפותח שלך במקלדת.