שיתוף | המשך - "מתעדכן" אוסף מאקרו לוורד - אינדקס מאקרו שימושי + הוראות חשובות.
-
בהמשך ל"מתעדכן" אוסף מאקרו לוורד - אינדקס מאקרו שימושי + הוראות חשובות.
עברו שבעה חודשים מהתגובה האחרונה - כך שאינני רוצה להקפיץ נושא ישן
לכן פתחתי בנושא חדש.
יש לי מאקרו קטן ופשוט ממש שכתבתי - אולי זה יעזור למישהו:
מי שמשתמש במקלדת ולא אוהב את העכבר - מכיר את זה שאחרי שכותבים הערת שוליים (כמובן ע"י קיצור מקשים...) רוצים לחזור לגוף הטקסט, וצריך להחזיר את הסמן ע"י העכבר מהטסקט להערה. זה מעצבן הרבה יותר כשמוסיפים הערה באמצע הטקסט - מי שניסה יודע.
תוספו אותו למאקרואים שלכם - ותגדירו לו קיצור מקשים נוח.
נסו ותהנו.Sub חזרה_מהערה_לטקסט() ' ' חזרה_מהערה_לטקסט Macro ' ' If ActiveWindow.ActivePane.View.Type = wdPrintView Or ActiveWindow. _ ActivePane.View.Type = wdWebView Or ActiveWindow.ActivePane.View.Type = _ wdPrintPreview Then ActiveWindow.View.SeekView = wdSeekMainDocument Else ActiveWindow.Panes(2).Close End If Selection.MoveRight Unit:=wdCharacter, Count:=1 ActiveWindow.ActivePane.SmallScroll Down:=5 End Sub -
בהמשך להנ"ל אני משתף עוד שני מאקרואים - להצגת הערות שוליים.
(הבהרה חשובה: לא אני כתבתי את המאקרואים האלו - זה נכתב ע"י @שלמה11 בעקבות הבקשה שלי כאן וכאן)מי שעובר על מה שהוא כתב, ויש הערת שוליים - צריך לגרור את העכבר ולרחף מעל מספר ההערה בכדי לראות את הכיתוב בהערה.
מאקרו "מציג תוכן הערות"
המאקרו הזה - עונה על הצורך זהה בצורה הכי טובה, בלחיצה על הקיצור מקשים עולה ההערה למספר שניות (-ניתן להגדיר כמה שניות).
זה נראה כך:

אז הנה המאקרו:
Sub מציג_תוכן_הערות() Dim rng As Range Set rng = Selection.Range rng.MoveStart wdCharacter, -1 rng.MoveEnd wdCharacter, 1 If rng.Footnotes.Count > 0 Then With UserForm1 .Label1.Caption = rng.Footnotes(1).Range.Text .Label1.AutoSize = True .Label1.Width = 190 .Height = .Label1.Height + 80 .Show vbModeless End With On Error Resume Next Application.OnTime Now + TimeValue("00:00:04"), "ת" On Error GoTo 0 End If End Sub Sub מציג_תוכן_הערות() Unload UserForm1 End Subבכדי שזה יעבוד - אתם צריכים לייבא לuserform את הקובץ הבא:
UserForm1.frm
הגדירו קיצור מקשים נוח - תכוונו עם החיצים שהסמן יעמוד ליד המספר הערת שוליים - או לפני או אחרי - צמוד, לחצו על הקיצור מקשים והערה תעלה.
זה נראה כך:

- שימו לב בקוד - אצלי זה מוגדר ל4 שניות - תוכלו לשנות את זה לפי מה שנוח לכם.
מאקרו "מציג תוכן הערה"
- מאקרו זה - פחות "משוכלל" מהקודם, ואם תשאלו א"כ למה הבאתי אותו - למה הוא טוב.
אז ככה: בהערות שוליים ארוכות, לא יספיק לכם מספר שניות לעבור על כל ההערה (חוץ מזה שאתם בלחץ שעוד שנייה זה נסגר...) - במאקרו הזה - בכדי שההערה תיסגר צריך ללחוץ אישור = אנטר. כך ש.. קחו את הזמן שלכם תעברו על ההערה באופן יסודי ובלי לחץ, סיימתם? פשוט לחצו אנטר ותמשיכו הלאה!
הנה המאקרו:
Sub מציג_תוכן_הערה() ' ' מציג_תוכן_הערה Macro ' ' Dim rng As Range Selection.MoveStart wdCharacter, -1 Set rng = Selection.Range If rng.Footnotes.Count > 0 Then MsgBox rng.Footnotes(1).Range.Text, vbInformation, "הערת שוליים" End If Selection.Move wdCharacter, 1 End Subוכך זה נראה בפועל:

הערה חשובה - במאקרו הזה - חייבים שהסמן יהיה אחרי מספר ההערה, ולא לפני.עצה שלי - תגדירו קיצור מקשים - לשני המאקרואים (אצלי זה מוגדר הראשון כ-CTRL+. והשני כ- CTRL+,) זה ישמש אתכם מלא!
אם אתם מעוניינים לראות בלחיצה אחת את כל ההערות שוליים בעמוד - יש את המאקרו הזה - שיצר @אביעד כאן:
Sub ShowFootnotesFromPreviousPage() Dim fn As Footnote Dim currPage As Long Dim prevPage As Long Dim msg As String Dim refRange As Range ' קבל את מספר העמוד הנוכחי currPage = Selection.Information(wdActiveEndPageNumber) prevPage = currPage - 1 If prevPage < 1 Then MsgBox "אין עמוד קודם במסמך.", vbExclamation, "שגיאה" Exit Sub End If msg = "" ' עבור על כל ההערות במסמך For Each fn In ActiveDocument.Footnotes Set refRange = fn.Reference If refRange.Information(wdActiveEndPageNumber) = prevPage Then msg = msg & "• " & Trim(fn.Range.Text) & vbCrLf & vbCrLf End If Next fn If msg = "" Then MsgBox "אין הערות שוליים בעמוד הקודם.", vbInformation, "אין הערות" Else MsgBox "הערות שוליים בעמוד הקודם:" & vbCrLf & vbCrLf & msg, vbInformation, "הערות בעמוד " & prevPage End If End Sub -
אם זה מעניין אתכם - תגיבו, ואעלה בל"נ עוד כמה מאקרואים קטנים לשימוש בקיצורי מקשים במקום העכבר