דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • בהיר
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • כהה
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. תוכנות
  3. יישומי אופיס
  4. וורד
  5. עזרה הדדית - וורד
  6. בירור | האם יש דרך להוספת הערות סקירה על הערות שוליים וסיום?

בירור | האם יש דרך להוספת הערות סקירה על הערות שוליים וסיום?

מתוזמן נעוץ נעול הועבר עזרה הדדית - וורד
74 פוסטים 5 כותבים 1.2k צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ש שמעון פרידנן

    @יעב-ץ

    @יעב-ץ כתב:

    אני רוצה את הערת הסקירה על ההערה ולא על ההפניה

    זה הבנתי..
    אבל לאיזה מטרה, כדי שלא תצטרך לגלול למעלה כשאתה רואה מילים מוזרחות?
    או מטרה אחרת?

    י מנותק
    י מנותק
    יעב"ץ
    כתב נערך לאחרונה על ידי יעב"ץ
    #32

    @שמעון-פרידנן
    ככה נוח לי מכמה וכמה טעמים.
    קשה לי לפרט כאן.

    ש תגובה 1 תגובה אחרונה
    0
    • י יעב"ץ

      @שמעון-פרידנן
      ככה נוח לי מכמה וכמה טעמים.
      קשה לי לפרט כאן.

      ש מנותק
      ש מנותק
      שמעון פרידנן
      כתב נערך לאחרונה על ידי
      #33

      @יעב-ץ

      @יעב-ץ כתב:

      קשה לי לפרט כאן.

      אז אין לי איך לעזור...

      י תגובה 1 תגובה אחרונה
      0
      • ש שמעון פרידנן

        @יעב-ץ

        @יעב-ץ כתב:

        קשה לי לפרט כאן.

        אז אין לי איך לעזור...

        י מנותק
        י מנותק
        יעב"ץ
        כתב נערך לאחרונה על ידי יעב"ץ
        #34

        @שמעון-פרידנן
        ולמה?
        דהיינו, זה משנה את הפתרון?

        ש ש 2 תגובות תגובה אחרונה
        0
        • י יעב"ץ

          @שמעון-פרידנן
          ולמה?
          דהיינו, זה משנה את הפתרון?

          ש מנותק
          ש מנותק
          שלמה11
          כתב נערך לאחרונה על ידי
          #35

          @יעב-ץ אחזור ואסביר, אין פתרונות קסם! א"א להכניס לוורד תכונות שלא קיימות, כל פקודות המאקרו מבוססות על תכונות קיימות לפעמים מבצעים משחקים שונים כדי ליצור משהו שדומה למקור, במקרה הזה חוץ מהפתרון של @צבי-צ אני לא רואה עוד פתרון.

          תגובה 1 תגובה אחרונה
          2
          • י יעב"ץ

            @שמעון-פרידנן
            ולמה?
            דהיינו, זה משנה את הפתרון?

            ש מנותק
            ש מנותק
            שמעון פרידנן
            כתב נערך לאחרונה על ידי
            #36

            @יעב-ץ כתב:

            ולמה?
            דהיינו, זה משנה את הפתרון?

            כמו שאמר @שלמה11
            א"א ליצור יש מאין.
            אפשר ליצור כלים שונים שממלאים מטרות מסוימות שיש בדבר המקורי, אבל בשביל זה צריך לדעת מה התועלת המדויקת שאתה מחפש.

            י תגובה 1 תגובה אחרונה
            0
            • ש שמעון פרידנן

              @יעב-ץ כתב:

              ולמה?
              דהיינו, זה משנה את הפתרון?

              כמו שאמר @שלמה11
              א"א ליצור יש מאין.
              אפשר ליצור כלים שונים שממלאים מטרות מסוימות שיש בדבר המקורי, אבל בשביל זה צריך לדעת מה התועלת המדויקת שאתה מחפש.

              י מנותק
              י מנותק
              יעב"ץ
              כתב נערך לאחרונה על ידי
              #37

              @שמעון-פרידנן
              בשביל למרקר ולהעיר על ההפניה, המאקרו מעולה.
              אבל יש לי בעיה:
              הפריסה אצלי היא שיש את כל הספר, ורק אז מתחילות הערות סיום, אני יודע שאפשר ללחוץ על ההפניה ולרדת להערה, אבל זה מאד לא נוח, לכן אני מחפש פתרון להעיר ישר על ההערה.

              ש תגובה 1 תגובה אחרונה
              0
              • י יעב"ץ

                @שמעון-פרידנן
                בשביל למרקר ולהעיר על ההפניה, המאקרו מעולה.
                אבל יש לי בעיה:
                הפריסה אצלי היא שיש את כל הספר, ורק אז מתחילות הערות סיום, אני יודע שאפשר ללחוץ על ההפניה ולרדת להערה, אבל זה מאד לא נוח, לכן אני מחפש פתרון להעיר ישר על ההערה.

                ש מנותק
                ש מנותק
                שמעון פרידנן
                כתב נערך לאחרונה על ידי
                #38

                @יעב-ץ כתב:

                הפריסה אצלי היא שיש את כל הספר, ורק אז מתחילות הערות סיום, אני יודע שאפשר ללחוץ על ההפניה ולרדת להערה, אבל זה מאד לא נוח, לכן אני מחפש פתרון להעיר ישר על ההערה.

                כלומר? העמודים של ההערות הם רק בסוף ואתה רוצה שתוכל לראות את ההערות באותם עמודים בלי ללחוץ על ההפניה ולחזור אחורה?

                י תגובה 1 תגובה אחרונה
                0
                • ש שמעון פרידנן

                  @יעב-ץ כתב:

                  הפריסה אצלי היא שיש את כל הספר, ורק אז מתחילות הערות סיום, אני יודע שאפשר ללחוץ על ההפניה ולרדת להערה, אבל זה מאד לא נוח, לכן אני מחפש פתרון להעיר ישר על ההערה.

                  כלומר? העמודים של ההערות הם רק בסוף ואתה רוצה שתוכל לראות את ההערות באותם עמודים בלי ללחוץ על ההפניה ולחזור אחורה?

                  י מנותק
                  י מנותק
                  יעב"ץ
                  כתב נערך לאחרונה על ידי
                  #39

                  @שמעון-פרידנן
                  כן.
                  ואגב, אפשר ליצור פריסה שמציגה את ההערות בסמוך להפניה?

                  ש תגובה 1 תגובה אחרונה
                  0
                  • י יעב"ץ

                    @שמעון-פרידנן
                    כן.
                    ואגב, אפשר ליצור פריסה שמציגה את ההערות בסמוך להפניה?

                    ש מנותק
                    ש מנותק
                    שמעון פרידנן
                    כתב נערך לאחרונה על ידי
                    #40

                    @יעב-ץ כתב:

                    ואגב, אפשר ליצור פריסה שמציגה את ההערות בסמוך להפניה?

                    הערות "סיום" כשמם, אבל אפשר להגדיר שהם לא בסוף המסמך אלא בסוף "מקטע" ואז אם למשל כל פרק/סימן הוא מקטע נפרד, הם יוצגו בסוף כל פרק.
                    לגבי עצם הבעיה אני יבדוק איזה רעיון אבל ללא התחייבות.

                    צ תגובה 1 תגובה אחרונה
                    1
                    • צ צבי צ

                      @יעב-ץ
                      אז תעשה קיצור דרך עם כפתור
                      קובץ > אפשרויות > התאמה אישית של רצועות הכלים

                      י מנותק
                      י מנותק
                      יעב"ץ
                      כתב נערך לאחרונה על ידי יעב"ץ
                      #41

                      @צבי-צ
                      אפשר להוסיף סמלים לקיצורים האלו חוץ ממה שיש כרגע בהצעה?

                      d74a5f44-c347-4ce3-a679-193af6ea16cc-image.jpeg

                      תגובה 1 תגובה אחרונה
                      0
                      • ש שמעון פרידנן

                        @יעב-ץ כתב:

                        ואגב, אפשר ליצור פריסה שמציגה את ההערות בסמוך להפניה?

                        הערות "סיום" כשמם, אבל אפשר להגדיר שהם לא בסוף המסמך אלא בסוף "מקטע" ואז אם למשל כל פרק/סימן הוא מקטע נפרד, הם יוצגו בסוף כל פרק.
                        לגבי עצם הבעיה אני יבדוק איזה רעיון אבל ללא התחייבות.

                        צ מנותק
                        צ מנותק
                        צבי צ
                        כתב נערך לאחרונה על ידי
                        #42

                        @שמעון-פרידנן כתב:

                        הם לא בסוף המסמך אלא בסוף "מקטע"

                        @יעב-ץ

                        ב'בקלות' של הרב יואל שילה יש אפשרות כזו:

                        f93b1322-4a5a-44d8-a474-f6d7fbd855d9-image.jpeg

                        ואם אתה מדבר רק על זמן העבודה אתה יכול להחליף בין ההערות שוליים להערות סיום [כלומר שההערות שוליים יהיו בסוף המקטע / הקובץ וההערות סיום בתחתית העמוד.]

                        aba9ab55-0df5-419b-aa0d-90869b3cd7f7-image.jpeg

                        תגובה 1 תגובה אחרונה
                        1
                        • י מנותק
                          י מנותק
                          יעב"ץ
                          כתב נערך לאחרונה על ידי
                          #43

                          איפה תיקיית הסמלים של וורד נמצאת?

                          תגובה 1 תגובה אחרונה
                          0
                          • ש שמעון פרידנן התייחס לנושא זה
                          • צ צבי צ

                            @יעב-ץ
                            נכון,
                            יצרתי מאקרו [ושיפצתי בעזרת קלוד].
                            נשאר לך רק לעשות קיצור דרך.

                            Sub הערת_סקירה_בהערת_שוליים()
                                Dim cmt As Comment
                                Dim txt As String
                            
                                txt = InputBox("הקלד את הערת הסקירה:", "הערת סקירה")
                                If txt = "" Then Exit Sub
                            
                                Options.DefaultHighlightColorIndex = wdYellow
                                Selection.Range.HighlightColorIndex = wdYellow
                            
                                ActiveWindow.View.SeekView = wdSeekMainDocument
                            
                                Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
                            
                                Set cmt = Selection.Comments.Add(Range:=Selection.Range)
                                cmt.Range.Text = txt
                            
                                ' סגירת חלונית הסקירה - אחרי ההוספה
                                If ActiveWindow.Panes.Count > 1 Then
                                    ActiveWindow.Panes(2).Close
                                End If
                                ActiveWindow.View.SeekView = wdSeekMainDocument
                            End Sub
                            
                            
                            י מנותק
                            י מנותק
                            יעב"ץ
                            כתב נערך לאחרונה על ידי
                            #44

                            @צבי-צ

                            אני משתמש בזה וזה מעולה.
                            יש בזה 3 באגים:

                            1. זה משנה את הזום, בלי לשנות את הגדרת הזום.
                              אני ב'רוחב עמוד', וזה מגדיל מאד בלי לשנות את ההגדרה.
                            2. כשזה יוצר את ההערה, זה קופץ לגוף המסמך, ונשאר שם, במקום להשאר בהערות סיום.
                            3. בעת היצירה, נפתח חלון תחתי של כל ההערות, לכמה שניות.
                            צ תגובה 1 תגובה אחרונה
                            0
                            • י יעב"ץ

                              @צבי-צ

                              אני משתמש בזה וזה מעולה.
                              יש בזה 3 באגים:

                              1. זה משנה את הזום, בלי לשנות את הגדרת הזום.
                                אני ב'רוחב עמוד', וזה מגדיל מאד בלי לשנות את ההגדרה.
                              2. כשזה יוצר את ההערה, זה קופץ לגוף המסמך, ונשאר שם, במקום להשאר בהערות סיום.
                              3. בעת היצירה, נפתח חלון תחתי של כל ההערות, לכמה שניות.
                              צ מנותק
                              צ מנותק
                              צבי צ
                              כתב נערך לאחרונה על ידי
                              #45

                              @יעב-ץ
                              אתה צודק, יש איך לפתור את זה אבל תקח את מה שבנה @שמעון-פרידנן זה הרבה יותר מסודר ונוח מכל הבחינות

                              https://mitmachim.top/topic/102457/להורדה-מאקרו-לניהול-הערות-סקירה-על-הערות-שוליים-סיום

                              י 2 תגובות תגובה אחרונה
                              0
                              • צ צבי צ

                                @יעב-ץ
                                אתה צודק, יש איך לפתור את זה אבל תקח את מה שבנה @שמעון-פרידנן זה הרבה יותר מסודר ונוח מכל הבחינות

                                https://mitmachim.top/topic/102457/להורדה-מאקרו-לניהול-הערות-סקירה-על-הערות-שוליים-סיום

                                י מנותק
                                י מנותק
                                יעב"ץ
                                כתב נערך לאחרונה על ידי
                                #46

                                @צבי-צ
                                אבל איך אני מוריד את זה, דהיינו, איך להשתמש אחרי ההורדה?

                                צ תגובה 1 תגובה אחרונה
                                0
                                • י יעב"ץ

                                  @צבי-צ
                                  אבל איך אני מוריד את זה, דהיינו, איך להשתמש אחרי ההורדה?

                                  צ מנותק
                                  צ מנותק
                                  צבי צ
                                  כתב נערך לאחרונה על ידי
                                  #47

                                  @יעב-ץ
                                  תסגור את כל המסמכים שפתוחים בוורד.
                                  תוריד את הקובץ המצורף [תוסיף את האות T בסוף] תשמור אותו ע"י הקובץ ש@שמעון-פרידנן בנה,
                                  תפעיל אותו ותחכה שיסיים.
                                  עכשיו תסמן את המקום בהערת שוליים ותלחץ ALT F8 ותבחר ShowFootnoteComments והפעל.
                                  וכמו שכתבו תעשה קיצור דרך ויהיה לך הרבה יותר קל.

                                  Install-Word-Comments.ba

                                  י תגובה 1 תגובה אחרונה
                                  0
                                  • צ צבי צ

                                    @יעב-ץ
                                    תסגור את כל המסמכים שפתוחים בוורד.
                                    תוריד את הקובץ המצורף [תוסיף את האות T בסוף] תשמור אותו ע"י הקובץ ש@שמעון-פרידנן בנה,
                                    תפעיל אותו ותחכה שיסיים.
                                    עכשיו תסמן את המקום בהערת שוליים ותלחץ ALT F8 ותבחר ShowFootnoteComments והפעל.
                                    וכמו שכתבו תעשה קיצור דרך ויהיה לך הרבה יותר קל.

                                    Install-Word-Comments.ba

                                    י מנותק
                                    י מנותק
                                    יעב"ץ
                                    כתב נערך לאחרונה על ידי
                                    #48

                                    @צבי-צ
                                    לא הבנתי מילה.
                                    אפשר לקבל את הטקסט של המאקרו?
                                    זה הכי פשוט.

                                    צ תגובה 1 תגובה אחרונה
                                    0
                                    • י יעב"ץ

                                      @צבי-צ
                                      לא הבנתי מילה.
                                      אפשר לקבל את הטקסט של המאקרו?
                                      זה הכי פשוט.

                                      צ מנותק
                                      צ מנותק
                                      צבי צ
                                      כתב נערך לאחרונה על ידי
                                      #49

                                      @יעב-ץ
                                      בבקשה, זה נמצא בתוך הקובץ, אבל צריך לדעת איך לשמור אותו כי זה לא מאקרו רגיל.

                                      Option Explicit
                                      
                                      '=============================================================
                                      ' הערות סקירה על הפניות להערות שוליים / הערות סיום
                                      ' מודל: ראש אחד לכל הערה + תגובותיו.
                                      ' צביעה צהובה של המילים המסומנות (רק במסמך, לא בטופס).
                                      '=============================================================
                                      
                                      '-------------------------------------------------------------
                                      ' סעיף 1: נקודת כניסה (מכיר את הטופס)
                                      '-------------------------------------------------------------
                                      Private m_CurrentForm As frmComments
                                      
                                      Public Sub ShowFootnoteComments()
                                          Dim idx As Long, isEnd As Boolean
                                          If Not CurrentFootnoteIndex(idx, isEnd) Then
                                              MsgBox "יש להציב את הסמן בתוך הערת שוליים או הערת סיום.", _
                                                     vbInformation, "הצגת הערות סקירה"
                                              Exit Sub
                                          End If
                                      
                                          If Not m_CurrentForm Is Nothing Then
                                              If m_CurrentForm.Visible Then
                                                  m_CurrentForm.LoadNote idx, isEnd
                                                  m_CurrentForm.Show vbModeless
                                                  Exit Sub
                                              End If
                                          End If
                                      
                                          Set m_CurrentForm = New frmComments
                                          m_CurrentForm.LoadNote idx, isEnd
                                          m_CurrentForm.Show vbModeless
                                      End Sub
                                      
                                      '-------------------------------------------------------------
                                      ' סעיף 2: זיהוי ההערה שהסמן נמצא בתוכה
                                      '-------------------------------------------------------------
                                      Public Function CurrentFootnoteIndex(ByRef idx As Long, ByRef isEnd As Boolean) As Boolean
                                          idx = 0
                                          isEnd = False
                                      
                                          Dim st As WdStoryType
                                          st = Selection.StoryType
                                      
                                          Dim selStart As Long
                                          selStart = Selection.Start
                                      
                                          If st = wdFootnotesStory Then
                                              Dim fn As Word.Footnote
                                              For Each fn In ThisDocument.Footnotes
                                                  If selStart >= fn.Range.Start And selStart <= fn.Range.End Then
                                                      idx = fn.Index
                                                      isEnd = False
                                                      CurrentFootnoteIndex = True
                                                      Exit Function
                                                  End If
                                              Next fn
                                          ElseIf st = wdEndnotesStory Then
                                              Dim en As Word.Endnote
                                              For Each en In ThisDocument.Endnotes
                                                  If selStart >= en.Range.Start And selStart <= en.Range.End Then
                                                      idx = en.Index
                                                      isEnd = True
                                                      CurrentFootnoteIndex = True
                                                      Exit Function
                                                  End If
                                              Next en
                                          End If
                                      End Function
                                      
                                      '-------------------------------------------------------------
                                      ' סעיף 3: איסוף השרשור (ראש + תגובות) לפי טווח ההפניה
                                      '-------------------------------------------------------------
                                      Public Function GetThreadForNote(ByVal idx As Long, ByVal isEnd As Boolean) As Collection
                                          Dim result As New Collection
                                      
                                          Dim refStart As Long, refEnd As Long
                                          If isEnd Then
                                              refStart = ThisDocument.Endnotes(idx).Reference.Start
                                              refEnd = ThisDocument.Endnotes(idx).Reference.End
                                          Else
                                              refStart = ThisDocument.Footnotes(idx).Reference.Start
                                              refEnd = ThisDocument.Footnotes(idx).Reference.End
                                          End If
                                      
                                          Dim c As Word.Comment
                                          For Each c In ThisDocument.Comments
                                              On Error Resume Next
                                              Dim scStart As Long, scEnd As Long
                                              scStart = c.Scope.Start
                                              scEnd = c.Scope.End
                                              On Error GoTo 0
                                      
                                              If scStart <= refEnd And scEnd >= refStart Then
                                                  result.Add c
                                              End If
                                          Next c
                                      
                                          Set GetThreadForNote = result
                                      End Function
                                      
                                      '-------------------------------------------------------------
                                      ' סעיף 4: פעולות
                                      '-------------------------------------------------------------
                                      
                                      ' הוספת הערה ראשית (רק אם אין עדיין ראש).
                                      ' צובע את המילים המסומנות בהערת השוליים במרקר צהוב.
                                      ' נשלחים: idx, isEnd (מיקום ההערה), והטקסט של ההערה + כותב.
                                      ' ה-Symbol Selection נלקח כאן מתוך הערת השוליים.
                                      Public Function AddRootComment(ByVal idx As Long, ByVal isEnd As Boolean, _
                                                                     ByVal text As String, _
                                                                     Optional ByVal author As String = "") As Boolean
                                          AddRootComment = False
                                      
                                          ' אסור שני ראשים: בדוק שאין כבר Comment על הטווח
                                          Dim existing As Collection
                                          Set existing = GetThreadForNote(idx, isEnd)
                                          If existing.Count > 0 Then
                                              Exit Function
                                          End If
                                      
                                          ' צביעה צהובה של המילים המסומנות בהערת השוליים (אם יש סימון)
                                          On Error Resume Next
                                          If Selection.StoryType = wdFootnotesStory Or Selection.StoryType = wdEndnotesStory Then
                                              If Selection.Range.Start <> Selection.Range.End Then   ' יש סימון
                                                  Selection.Range.HighlightColorIndex = wdYellow
                                              End If
                                          End If
                                          On Error GoTo 0
                                      
                                          ' יצירת ההערה על ההפניה
                                          On Error GoTo Fail
                                          Dim rng As Word.Range
                                          If isEnd Then
                                              Set rng = ThisDocument.Endnotes(idx).Reference.Duplicate
                                          Else
                                              Set rng = ThisDocument.Footnotes(idx).Reference.Duplicate
                                          End If
                                      
                                          Dim c As Word.Comment
                                          Set c = ThisDocument.Comments.Add(rng, text)
                                          If Len(author) > 0 Then c.author = author
                                      
                                          AddRootComment = True
                                          Exit Function
                                      Fail:
                                          AddRootComment = False
                                      End Function
                                      
                                      ' הוספת תגובה לראש הקיים (נוצר על אותו טווח)
                                      Public Function AddReplyToNote(ByVal idx As Long, ByVal isEnd As Boolean, _
                                                                     ByVal text As String, _
                                                                     Optional ByVal author As String = "") As Boolean
                                          On Error GoTo Fail
                                      
                                          Dim th As Collection
                                          Set th = GetThreadForNote(idx, isEnd)
                                          If th.Count = 0 Then
                                              AddReplyToNote = False
                                              Exit Function
                                          End If
                                      
                                          Dim root As Word.Comment
                                          Set root = th(1)
                                      
                                          Dim rep As Word.Comment
                                          Set rep = root.Replies.Add(root.Scope, text)
                                          If Len(author) > 0 Then rep.author = author
                                      
                                          AddReplyToNote = True
                                          Exit Function
                                      Fail:
                                          AddReplyToNote = False
                                      End Function
                                      
                                      ' מחיקת שרשור שלם (ראש + כל תגובותיו)
                                      Public Function DeleteThread(ByVal idx As Long, ByVal isEnd As Boolean) As Boolean
                                          On Error GoTo Fail
                                      
                                          Dim th As Collection
                                          Set th = GetThreadForNote(idx, isEnd)
                                          If th.Count = 0 Then
                                              DeleteThread = False
                                              Exit Function
                                          End If
                                      
                                          Dim i As Long
                                          For i = th.Count To 1 Step -1
                                              th(i).Delete
                                          Next i
                                      
                                          DeleteThread = True
                                          Exit Function
                                      Fail:
                                          DeleteThread = False
                                      End Function
                                      
                                      
                                      
                                      י תגובה 1 תגובה אחרונה
                                      0
                                      • צ צבי צ

                                        @יעב-ץ
                                        בבקשה, זה נמצא בתוך הקובץ, אבל צריך לדעת איך לשמור אותו כי זה לא מאקרו רגיל.

                                        Option Explicit
                                        
                                        '=============================================================
                                        ' הערות סקירה על הפניות להערות שוליים / הערות סיום
                                        ' מודל: ראש אחד לכל הערה + תגובותיו.
                                        ' צביעה צהובה של המילים המסומנות (רק במסמך, לא בטופס).
                                        '=============================================================
                                        
                                        '-------------------------------------------------------------
                                        ' סעיף 1: נקודת כניסה (מכיר את הטופס)
                                        '-------------------------------------------------------------
                                        Private m_CurrentForm As frmComments
                                        
                                        Public Sub ShowFootnoteComments()
                                            Dim idx As Long, isEnd As Boolean
                                            If Not CurrentFootnoteIndex(idx, isEnd) Then
                                                MsgBox "יש להציב את הסמן בתוך הערת שוליים או הערת סיום.", _
                                                       vbInformation, "הצגת הערות סקירה"
                                                Exit Sub
                                            End If
                                        
                                            If Not m_CurrentForm Is Nothing Then
                                                If m_CurrentForm.Visible Then
                                                    m_CurrentForm.LoadNote idx, isEnd
                                                    m_CurrentForm.Show vbModeless
                                                    Exit Sub
                                                End If
                                            End If
                                        
                                            Set m_CurrentForm = New frmComments
                                            m_CurrentForm.LoadNote idx, isEnd
                                            m_CurrentForm.Show vbModeless
                                        End Sub
                                        
                                        '-------------------------------------------------------------
                                        ' סעיף 2: זיהוי ההערה שהסמן נמצא בתוכה
                                        '-------------------------------------------------------------
                                        Public Function CurrentFootnoteIndex(ByRef idx As Long, ByRef isEnd As Boolean) As Boolean
                                            idx = 0
                                            isEnd = False
                                        
                                            Dim st As WdStoryType
                                            st = Selection.StoryType
                                        
                                            Dim selStart As Long
                                            selStart = Selection.Start
                                        
                                            If st = wdFootnotesStory Then
                                                Dim fn As Word.Footnote
                                                For Each fn In ThisDocument.Footnotes
                                                    If selStart >= fn.Range.Start And selStart <= fn.Range.End Then
                                                        idx = fn.Index
                                                        isEnd = False
                                                        CurrentFootnoteIndex = True
                                                        Exit Function
                                                    End If
                                                Next fn
                                            ElseIf st = wdEndnotesStory Then
                                                Dim en As Word.Endnote
                                                For Each en In ThisDocument.Endnotes
                                                    If selStart >= en.Range.Start And selStart <= en.Range.End Then
                                                        idx = en.Index
                                                        isEnd = True
                                                        CurrentFootnoteIndex = True
                                                        Exit Function
                                                    End If
                                                Next en
                                            End If
                                        End Function
                                        
                                        '-------------------------------------------------------------
                                        ' סעיף 3: איסוף השרשור (ראש + תגובות) לפי טווח ההפניה
                                        '-------------------------------------------------------------
                                        Public Function GetThreadForNote(ByVal idx As Long, ByVal isEnd As Boolean) As Collection
                                            Dim result As New Collection
                                        
                                            Dim refStart As Long, refEnd As Long
                                            If isEnd Then
                                                refStart = ThisDocument.Endnotes(idx).Reference.Start
                                                refEnd = ThisDocument.Endnotes(idx).Reference.End
                                            Else
                                                refStart = ThisDocument.Footnotes(idx).Reference.Start
                                                refEnd = ThisDocument.Footnotes(idx).Reference.End
                                            End If
                                        
                                            Dim c As Word.Comment
                                            For Each c In ThisDocument.Comments
                                                On Error Resume Next
                                                Dim scStart As Long, scEnd As Long
                                                scStart = c.Scope.Start
                                                scEnd = c.Scope.End
                                                On Error GoTo 0
                                        
                                                If scStart <= refEnd And scEnd >= refStart Then
                                                    result.Add c
                                                End If
                                            Next c
                                        
                                            Set GetThreadForNote = result
                                        End Function
                                        
                                        '-------------------------------------------------------------
                                        ' סעיף 4: פעולות
                                        '-------------------------------------------------------------
                                        
                                        ' הוספת הערה ראשית (רק אם אין עדיין ראש).
                                        ' צובע את המילים המסומנות בהערת השוליים במרקר צהוב.
                                        ' נשלחים: idx, isEnd (מיקום ההערה), והטקסט של ההערה + כותב.
                                        ' ה-Symbol Selection נלקח כאן מתוך הערת השוליים.
                                        Public Function AddRootComment(ByVal idx As Long, ByVal isEnd As Boolean, _
                                                                       ByVal text As String, _
                                                                       Optional ByVal author As String = "") As Boolean
                                            AddRootComment = False
                                        
                                            ' אסור שני ראשים: בדוק שאין כבר Comment על הטווח
                                            Dim existing As Collection
                                            Set existing = GetThreadForNote(idx, isEnd)
                                            If existing.Count > 0 Then
                                                Exit Function
                                            End If
                                        
                                            ' צביעה צהובה של המילים המסומנות בהערת השוליים (אם יש סימון)
                                            On Error Resume Next
                                            If Selection.StoryType = wdFootnotesStory Or Selection.StoryType = wdEndnotesStory Then
                                                If Selection.Range.Start <> Selection.Range.End Then   ' יש סימון
                                                    Selection.Range.HighlightColorIndex = wdYellow
                                                End If
                                            End If
                                            On Error GoTo 0
                                        
                                            ' יצירת ההערה על ההפניה
                                            On Error GoTo Fail
                                            Dim rng As Word.Range
                                            If isEnd Then
                                                Set rng = ThisDocument.Endnotes(idx).Reference.Duplicate
                                            Else
                                                Set rng = ThisDocument.Footnotes(idx).Reference.Duplicate
                                            End If
                                        
                                            Dim c As Word.Comment
                                            Set c = ThisDocument.Comments.Add(rng, text)
                                            If Len(author) > 0 Then c.author = author
                                        
                                            AddRootComment = True
                                            Exit Function
                                        Fail:
                                            AddRootComment = False
                                        End Function
                                        
                                        ' הוספת תגובה לראש הקיים (נוצר על אותו טווח)
                                        Public Function AddReplyToNote(ByVal idx As Long, ByVal isEnd As Boolean, _
                                                                       ByVal text As String, _
                                                                       Optional ByVal author As String = "") As Boolean
                                            On Error GoTo Fail
                                        
                                            Dim th As Collection
                                            Set th = GetThreadForNote(idx, isEnd)
                                            If th.Count = 0 Then
                                                AddReplyToNote = False
                                                Exit Function
                                            End If
                                        
                                            Dim root As Word.Comment
                                            Set root = th(1)
                                        
                                            Dim rep As Word.Comment
                                            Set rep = root.Replies.Add(root.Scope, text)
                                            If Len(author) > 0 Then rep.author = author
                                        
                                            AddReplyToNote = True
                                            Exit Function
                                        Fail:
                                            AddReplyToNote = False
                                        End Function
                                        
                                        ' מחיקת שרשור שלם (ראש + כל תגובותיו)
                                        Public Function DeleteThread(ByVal idx As Long, ByVal isEnd As Boolean) As Boolean
                                            On Error GoTo Fail
                                        
                                            Dim th As Collection
                                            Set th = GetThreadForNote(idx, isEnd)
                                            If th.Count = 0 Then
                                                DeleteThread = False
                                                Exit Function
                                            End If
                                        
                                            Dim i As Long
                                            For i = th.Count To 1 Step -1
                                                th(i).Delete
                                            Next i
                                        
                                            DeleteThread = True
                                            Exit Function
                                        Fail:
                                            DeleteThread = False
                                        End Function
                                        
                                        
                                        
                                        י מנותק
                                        י מנותק
                                        יעב"ץ
                                        כתב נערך לאחרונה על ידי
                                        #50

                                        @צבי-צ
                                        אני לא הצלחתי לחלץ את זה, נפתח לי קובץ ריק כל פעם.
                                        איך שומרים?
                                        ומה זה שונה ממאקרו רגיל?

                                        צ י ש 3 תגובות תגובה אחרונה
                                        0
                                        • י יעב"ץ

                                          @צבי-צ
                                          אני לא הצלחתי לחלץ את זה, נפתח לי קובץ ריק כל פעם.
                                          איך שומרים?
                                          ומה זה שונה ממאקרו רגיל?

                                          צ מנותק
                                          צ מנותק
                                          צבי צ
                                          כתב נערך לאחרונה על ידי
                                          #51

                                          @יעב-ץ
                                          אני לא הצלחתי לשמור אותו ולכן ביקשתי מקלוד שיצור לי את הקובץ שצרפתי למעלה, תשנה את הסיומת שלו לBAT ותפעיל אותו.

                                          צריך שהוא יהיה באותה תיקייה עם הקובץ הערות-סקירה-מדומות.docm.

                                          אחרי שהקובץ יסיים את הפעולה שלו המאקרו מותקן לך ולא צריך לעשות כלום.

                                          תגובה 1 תגובה אחרונה
                                          0

                                          שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

                                          נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

                                          בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                                          הרשמה התחברות

                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • חוקי הפורום
                                          • פופולרי
                                          • לא נפתר
                                          • משתמשים
                                          • חיפוש גוגל בפורום
                                          • צור קשר