דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • בהיר
  • 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. שיתוף | המשך - "מתעדכן" אוסף מאקרו לוורד - אינדקס מאקרו שימושי + הוראות חשובות.

שיתוף | המשך - "מתעדכן" אוסף מאקרו לוורד - אינדקס מאקרו שימושי + הוראות חשובות.

מתוזמן נעוץ נעול הועבר עזרה הדדית - וורד
15 פוסטים 5 כותבים 553 צפיות 9 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • יאיר דניאלי מנותק
    יאיר דניאלי מנותק
    יאיר דניאל
    כתב נערך לאחרונה על ידי
    #3

    אם זה מעניין אתכם - תגיבו, ואעלה בל"נ עוד כמה מאקרואים קטנים לשימוש בקיצורי מקשים במקום העכבר

    תגובה 1 תגובה אחרונה
    2
    • אביעדא מנותק
      אביעדא מנותק
      אביעד
      מדריכים
      כתב נערך לאחרונה על ידי
      #4

      יישר כח
      אממ. לגבי מה שאמרת שם שלא הייתי צריך לפרט -זה לא אישי.. בד''כ יש עוד כאלה שמסתכלים ולא כולם יודעים.. אז אם לא יועיל לא יזיק 😊

      לכל המדריכים שלי
      מסקרן אותך להבין יותר לעומק מה זה מחשב?
      תראה את זה!

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

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

        • התיקייה שתיווצר לאחר הרצת המאקרו - לא שוקלת כמעט כלום, אבל היא תחסוך לכם הרבה עבודה - כשיימחק לכם ההגדרות איכשהו/ תאפסו את המחשב/ תעשו התקנה נקייה/ תקנו מחשב חדש!

        מאקרו גיבוי תבנית נורמל:

        [זה מאקרו שכתב אי מי מחברי הפורום, אינני זוכר מי כך שאני לא יכול לתת לו את הקרדיט המגיע לו - לגיבוי של תבנית הנורמל

        Sub גיבוי_תבנית_נורמל()
            Dim fso As Object
            Dim sourcePath As String
            Dim destPath As String
            Dim fileName As String
            Dim dateTimeStamp As String
         
            Set fso = CreateObject("Scripting.FileSystemObject")
            
            sourcePath = "C:\Users\ZMB\AppData\Roaming\Microsoft\Templates\"
            destPath =  **הזינו כאן את הנתיב בו תרצו לשמור את התבנית**
            dateTimeStamp = Format(Now, "dd_mm_yy_hh_mm_ss")
            
            fileName = "Normal.dotm"
            
            If Not fso.FolderExists(destPath) Then
                fso.CreateFolder destPath
            End If
            
            If fso.FileExists(sourcePath & fileName) Then
                fso.CopyFile sourcePath & fileName, destPath & Left(fileName, Len(fileName) - 5) & "_" & dateTimeStamp & ".dotm"
                
                MsgBox "הקובץ הועתק בהצלחה ונוסף לתיקיית הגיבוי."
            Else
                MsgBox "הקובץ המקורי אינו קיים."
            End If
            
            Set fso = Nothing
        End Sub
        

        מאקרו גיבוי התאמות אישיות:

        • מאקרו זה מגבה את הקבצים הבאים:
          מילון אישי
          תיקון שגיאות אוטומטי
          התאמות אישיות בוורד, אקסל, אקסס
          תבנית נורמל
        Option Explicit
        
        Sub גיבוי_ושחזור_התאמות_משתמש()
        
            Dim fso As Object
            Dim user As String
            Dim basePath As String
            Dim פעולה As VbMsgBoxResult
            Dim src As String, dst As String
        
            Set fso = CreateObject("Scripting.FileSystemObject")
            user = CreateObject("WScript.Network").UserName
        
            פעולה = MsgBox( _
                "בחר פעולה:" & vbCrLf & _
                "כן = גיבוי" & vbCrLf & _
                "לא = שחזור", _
                vbYesNoCancel + vbQuestion, _
                "Office PRO")
        
            If פעולה = vbCancel Then Exit Sub
        
            With Application.FileDialog(4)
                .Title = IIf(פעולה = vbYes, "בחר תיקייה לגיבוי", "בחר תיקיית גיבוי")
                If .Show <> -1 Then Exit Sub
                basePath = .SelectedItems(1)
            End With
        
            ' ================= UI – Excel =================
            CreateFolderIfMissing fso, basePath & "\UI"
            If פעולה = vbYes Then
                src = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\Excel.officeUI"
                dst = basePath & "\UI\Excel.officeUI"
            Else
                src = basePath & "\UI\Excel.officeUI"
                dst = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\Excel.officeUI"
            End If
            CopyFileSafe fso, src, dst
        
            ' ================= UI – Word =================
            If פעולה = vbYes Then
                src = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\Word.officeUI"
                dst = basePath & "\UI\Word.officeUI"
            Else
                src = basePath & "\UI\Word.officeUI"
                dst = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\Word.officeUI"
            End If
            CopyFileSafe fso, src, dst
        
            ' ================= Normal.dotm =================
            CreateFolderIfMissing fso, basePath & "\Word"
            If פעולה = vbYes Then
                src = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Templates\Normal.dotm"
                dst = basePath & "\Word\Normal.dotm"
            Else
                src = basePath & "\Word\Normal.dotm"
                dst = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Templates\Normal.dotm"
            End If
            CopyFileSafe fso, src, dst
        
            ' ================= Office (Roaming) =================
            CreateFolderIfMissing fso, basePath & "\Office"
            If פעולה = vbYes Then
                src = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Office"
                dst = basePath & "\Office"
            Else
                src = basePath & "\Office"
                dst = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Office"
            End If
            CopyFolderSafe fso, src, dst
        
            ' ================= UProof =================
            CreateFolderIfMissing fso, basePath & "\UProof"
            If פעולה = vbYes Then
                src = "C:\Users\" & user & "\AppData\Roaming\Microsoft\UProof"
                dst = basePath & "\UProof"
            Else
                src = basePath & "\UProof"
                dst = "C:\Users\" & user & "\AppData\Roaming\Microsoft\UProof"
            End If
            CopyFolderSafe fso, src, dst
        
            ' ================= Spelling =================
            CreateFolderIfMissing fso, basePath & "\Spelling"
            If פעולה = vbYes Then
                src = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Spelling"
                dst = basePath & "\Spelling"
            Else
                src = basePath & "\Spelling"
                dst = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Spelling"
            End If
            CopyFolderSafe fso, src, dst
        
            ' ================= Excel (Roaming) =================
            CreateFolderIfMissing fso, basePath & "\Excel"
            If פעולה = vbYes Then
                src = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Excel"
                dst = basePath & "\Excel"
            Else
                src = basePath & "\Excel"
                dst = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Excel"
            End If
            CopyFolderSafe fso, src, dst
        
            ' ================= Access =================
            CreateFolderIfMissing fso, basePath & "\Access"
            If פעולה = vbYes Then
                src = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Access"
                dst = basePath & "\Access"
            Else
                src = basePath & "\Access"
                dst = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Access"
            End If
            CopyFolderSafe fso, src, dst
        
            MsgBox IIf(פעולה = vbYes, _
                "הגיבוי הושלם בהצלחה", _
                "השחזור הושלם בהצלחה"), _
                vbInformation, "Office PRO"
        
        End Sub
        
        ' ================= עזר =================
        Sub CreateFolderIfMissing(fso As Object, path As String)
            If Not fso.FolderExists(path) Then fso.CreateFolder path
        End Sub
        
        Sub CopyFileSafe(fso As Object, src As String, dst As String)
            If fso.FileExists(src) Then
                CreateFolderIfMissing fso, fso.GetParentFolderName(dst)
                On Error Resume Next
                If fso.FileExists(dst) Then fso.DeleteFile dst, True
                fso.CopyFile src, dst, True
                Err.Clear
                On Error GoTo 0
            End If
        End Sub
        
        Sub CopyFolderSafe(fso As Object, src As String, dst As String)
            If fso.FolderExists(src) Then
                CreateFolderIfMissing fso, fso.GetParentFolderName(dst)
                fso.CopyFolder src, dst, True
            End If
        End Sub
        
        
        מ תגובה 1 תגובה אחרונה
        2
        • יאיר דניאלי יאיר דניאל

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

          • התיקייה שתיווצר לאחר הרצת המאקרו - לא שוקלת כמעט כלום, אבל היא תחסוך לכם הרבה עבודה - כשיימחק לכם ההגדרות איכשהו/ תאפסו את המחשב/ תעשו התקנה נקייה/ תקנו מחשב חדש!

          מאקרו גיבוי תבנית נורמל:

          [זה מאקרו שכתב אי מי מחברי הפורום, אינני זוכר מי כך שאני לא יכול לתת לו את הקרדיט המגיע לו - לגיבוי של תבנית הנורמל

          Sub גיבוי_תבנית_נורמל()
              Dim fso As Object
              Dim sourcePath As String
              Dim destPath As String
              Dim fileName As String
              Dim dateTimeStamp As String
           
              Set fso = CreateObject("Scripting.FileSystemObject")
              
              sourcePath = "C:\Users\ZMB\AppData\Roaming\Microsoft\Templates\"
              destPath =  **הזינו כאן את הנתיב בו תרצו לשמור את התבנית**
              dateTimeStamp = Format(Now, "dd_mm_yy_hh_mm_ss")
              
              fileName = "Normal.dotm"
              
              If Not fso.FolderExists(destPath) Then
                  fso.CreateFolder destPath
              End If
              
              If fso.FileExists(sourcePath & fileName) Then
                  fso.CopyFile sourcePath & fileName, destPath & Left(fileName, Len(fileName) - 5) & "_" & dateTimeStamp & ".dotm"
                  
                  MsgBox "הקובץ הועתק בהצלחה ונוסף לתיקיית הגיבוי."
              Else
                  MsgBox "הקובץ המקורי אינו קיים."
              End If
              
              Set fso = Nothing
          End Sub
          

          מאקרו גיבוי התאמות אישיות:

          • מאקרו זה מגבה את הקבצים הבאים:
            מילון אישי
            תיקון שגיאות אוטומטי
            התאמות אישיות בוורד, אקסל, אקסס
            תבנית נורמל
          Option Explicit
          
          Sub גיבוי_ושחזור_התאמות_משתמש()
          
              Dim fso As Object
              Dim user As String
              Dim basePath As String
              Dim פעולה As VbMsgBoxResult
              Dim src As String, dst As String
          
              Set fso = CreateObject("Scripting.FileSystemObject")
              user = CreateObject("WScript.Network").UserName
          
              פעולה = MsgBox( _
                  "בחר פעולה:" & vbCrLf & _
                  "כן = גיבוי" & vbCrLf & _
                  "לא = שחזור", _
                  vbYesNoCancel + vbQuestion, _
                  "Office PRO")
          
              If פעולה = vbCancel Then Exit Sub
          
              With Application.FileDialog(4)
                  .Title = IIf(פעולה = vbYes, "בחר תיקייה לגיבוי", "בחר תיקיית גיבוי")
                  If .Show <> -1 Then Exit Sub
                  basePath = .SelectedItems(1)
              End With
          
              ' ================= UI – Excel =================
              CreateFolderIfMissing fso, basePath & "\UI"
              If פעולה = vbYes Then
                  src = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\Excel.officeUI"
                  dst = basePath & "\UI\Excel.officeUI"
              Else
                  src = basePath & "\UI\Excel.officeUI"
                  dst = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\Excel.officeUI"
              End If
              CopyFileSafe fso, src, dst
          
              ' ================= UI – Word =================
              If פעולה = vbYes Then
                  src = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\Word.officeUI"
                  dst = basePath & "\UI\Word.officeUI"
              Else
                  src = basePath & "\UI\Word.officeUI"
                  dst = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\Word.officeUI"
              End If
              CopyFileSafe fso, src, dst
          
              ' ================= Normal.dotm =================
              CreateFolderIfMissing fso, basePath & "\Word"
              If פעולה = vbYes Then
                  src = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Templates\Normal.dotm"
                  dst = basePath & "\Word\Normal.dotm"
              Else
                  src = basePath & "\Word\Normal.dotm"
                  dst = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Templates\Normal.dotm"
              End If
              CopyFileSafe fso, src, dst
          
              ' ================= Office (Roaming) =================
              CreateFolderIfMissing fso, basePath & "\Office"
              If פעולה = vbYes Then
                  src = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Office"
                  dst = basePath & "\Office"
              Else
                  src = basePath & "\Office"
                  dst = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Office"
              End If
              CopyFolderSafe fso, src, dst
          
              ' ================= UProof =================
              CreateFolderIfMissing fso, basePath & "\UProof"
              If פעולה = vbYes Then
                  src = "C:\Users\" & user & "\AppData\Roaming\Microsoft\UProof"
                  dst = basePath & "\UProof"
              Else
                  src = basePath & "\UProof"
                  dst = "C:\Users\" & user & "\AppData\Roaming\Microsoft\UProof"
              End If
              CopyFolderSafe fso, src, dst
          
              ' ================= Spelling =================
              CreateFolderIfMissing fso, basePath & "\Spelling"
              If פעולה = vbYes Then
                  src = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Spelling"
                  dst = basePath & "\Spelling"
              Else
                  src = basePath & "\Spelling"
                  dst = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Spelling"
              End If
              CopyFolderSafe fso, src, dst
          
              ' ================= Excel (Roaming) =================
              CreateFolderIfMissing fso, basePath & "\Excel"
              If פעולה = vbYes Then
                  src = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Excel"
                  dst = basePath & "\Excel"
              Else
                  src = basePath & "\Excel"
                  dst = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Excel"
              End If
              CopyFolderSafe fso, src, dst
          
              ' ================= Access =================
              CreateFolderIfMissing fso, basePath & "\Access"
              If פעולה = vbYes Then
                  src = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Access"
                  dst = basePath & "\Access"
              Else
                  src = basePath & "\Access"
                  dst = "C:\Users\" & user & "\AppData\Roaming\Microsoft\Access"
              End If
              CopyFolderSafe fso, src, dst
          
              MsgBox IIf(פעולה = vbYes, _
                  "הגיבוי הושלם בהצלחה", _
                  "השחזור הושלם בהצלחה"), _
                  vbInformation, "Office PRO"
          
          End Sub
          
          ' ================= עזר =================
          Sub CreateFolderIfMissing(fso As Object, path As String)
              If Not fso.FolderExists(path) Then fso.CreateFolder path
          End Sub
          
          Sub CopyFileSafe(fso As Object, src As String, dst As String)
              If fso.FileExists(src) Then
                  CreateFolderIfMissing fso, fso.GetParentFolderName(dst)
                  On Error Resume Next
                  If fso.FileExists(dst) Then fso.DeleteFile dst, True
                  fso.CopyFile src, dst, True
                  Err.Clear
                  On Error GoTo 0
              End If
          End Sub
          
          Sub CopyFolderSafe(fso As Object, src As String, dst As String)
              If fso.FolderExists(src) Then
                  CreateFolderIfMissing fso, fso.GetParentFolderName(dst)
                  fso.CopyFolder src, dst, True
              End If
          End Sub
          
          
          מ מנותק
          מ מנותק
          מניין
          כתב נערך לאחרונה על ידי מניין
          #6

          @יאיר-דניאל כתב בשיתוף | המשך - "מתעדכן" אוסף מאקרו לוורד - אינדקס מאקרו שימושי + הוראות חשובות.:

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

          האם זה שומר גם על כל הכרטיסיות, הקיצורי דרך, והמאקרואים.

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

            @יאיר-דניאל כתב בשיתוף | המשך - "מתעדכן" אוסף מאקרו לוורד - אינדקס מאקרו שימושי + הוראות חשובות.:

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

            האם זה שומר גם על כל הכרטיסיות, הקיצורי דרך, והמאקרואים.

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

            @מניין כתב בשיתוף | המשך - "מתעדכן" אוסף מאקרו לוורד - אינדקס מאקרו שימושי + הוראות חשובות.:

            האם זה שומר גם על כל הכרטיסיות, הקיצורי דרך, והמאקרואים.

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

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

              מאקרו להקטנת סוגריים עגולות ומרובעות בתוך הטקסט:

              (כרגע הוא מוגדר על הקטנת סוגריים מרובעות לגודל 11 ועגולות לגודל 9 - כמובן שתוכלו לשנות את זה כטוב בעינכם).

              Sub הקטנת_סוגריים()
              '
              ' הקטנת_סוגריים Macro
              '
              '
                  Selection.Find.ClearFormatting
                  Selection.Find.Replacement.ClearFormatting
                  With Selection.Find
                      .Text = "\[*\]"
                      .Replacement.Text = "^&"
                      .Forward = True
                      .Wrap = wdFindContinue
                      .Format = True
                      .MatchCase = False
                      .MatchWholeWord = False
                      .MatchKashida = False
                      .MatchDiacritics = False
                      .MatchAlefHamza = False
                      .MatchControl = False
                      .MatchAllWordForms = False
                      .MatchSoundsLike = False
                      .MatchWildcards = True
                      .Replacement.Font.SizeBi = 11
                  End With
                  Selection.Find.Execute Replace:=wdReplaceAll
                  Selection.Find.Execute Replace:=wdReplaceAll
                  Selection.Find.ClearFormatting
                  Selection.Find.Replacement.ClearFormatting
                  With Selection.Find
                      .Text = "\(*\)"
                      .Replacement.Text = ""
                      .Forward = True
                      .Wrap = wdFindContinue
                      .Format = True
                      .MatchCase = False
                      .MatchWholeWord = False
                      .MatchKashida = False
                      .MatchDiacritics = False
                      .MatchAlefHamza = False
                      .MatchControl = False
                      .MatchAllWordForms = False
                      .MatchSoundsLike = False
                      .MatchWildcards = True
                      .Replacement.Font.SizeBi = 9
                      .Replacement.Font.Size = 9
                  End With
                  Selection.Find.Execute Replace:=wdReplaceAll
              End Sub
              

              לעצלנים שבינינו - מצורף גם אותו המאקרו - להערות שוליים, עם הגדרות גודל יותר קטנות = 7 למרובע, 6 לעגול.
              שימו לב! את המאקרו העליון - הפעילו בעוד הסמן עומד בטקסט עצמו, ואת המאקרו התחתון - בעוד הסמן עומד בהערות השוליים.

              Sub הקטנת_סוגריים_הערת_שוליים()
              '
              ' הקטנת_סוגריים_הערת_שוליים Macro
              '
              '
                  Selection.Find.ClearFormatting
                  Selection.Find.Replacement.ClearFormatting
                  With Selection.Find
                      .Text = "\[*\]"
                      .Replacement.Text = "^&"
                      .Forward = True
                      .Wrap = wdFindContinue
                      .Format = True
                      .MatchCase = False
                      .MatchWholeWord = False
                      .MatchKashida = False
                      .MatchDiacritics = False
                      .MatchAlefHamza = False
                      .MatchControl = False
                      .MatchAllWordForms = False
                      .MatchSoundsLike = False
                      .MatchWildcards = True
                      .Replacement.Font.SizeBi = 7
                   End With
                  Selection.Find.Execute Replace:=wdReplaceAll
                  Selection.Find.ClearFormatting
                  Selection.Find.Replacement.ClearFormatting
                  With Selection.Find
                      .Text = "\(*\)"
                      .Replacement.Text = "^&"
                      .Forward = True
                      .Wrap = wdFindContinue
                      .Format = True
                      .MatchCase = False
                      .MatchWholeWord = False
                      .MatchKashida = False
                      .MatchDiacritics = False
                      .MatchAlefHamza = False
                      .MatchControl = False
                      .MatchAllWordForms = False
                      .MatchSoundsLike = False
                      .MatchWildcards = True
                      .Replacement.Font.SizeBi = 6
                  End With
                  Selection.Find.Execute Replace:=wdReplaceAll
              End Sub
              
              תגובה 1 תגובה אחרונה
              1
              • יאיר דניאלי מנותק
                יאיר דניאלי מנותק
                יאיר דניאל
                כתב נערך לאחרונה על ידי יאיר דניאל
                #9

                מאקרו לסימון אותיות בתשובות לעיון ההלכה

                • למי שנוהג לכתוב בצורת התבנית הבאה:
                  עיון ההלכה.png
                • מה שהמאקרו הזה עושה הוא כך:
                  א. מדגיש ומוסיף פס תחתון למספר התשובה.
                  ב. מדגיש את מספר האות - בתוך כל תשובה.
                Sub סימון_אותיות_עיון_ההלכה()
                '
                ' סימון_אותיות_עיון_ההלכה Macro
                '
                '
                    Selection.Find.ClearFormatting
                    Selection.Find.Replacement.ClearFormatting
                    With Selection.Find.Replacement.Font
                        .BoldBi = True
                        .Underline = wdUnderlineSingle
                    End With
                    With Selection.Find
                        .Text = "^p^$:"
                        .Replacement.Text = "^&"
                        .Forward = True
                        .Wrap = wdFindContinue
                        .Format = True
                        .MatchCase = False
                        .MatchWholeWord = False
                        .MatchKashida = False
                        .MatchDiacritics = False
                        .MatchAlefHamza = False
                        .MatchControl = False
                        .MatchWildcards = False
                        .MatchSoundsLike = False
                        .MatchAllWordForms = False
                        .Replacement.Font.NameBi = "ShefaClassic"
                    End With
                       Selection.Find.Execute Replace:=wdReplaceAll
                    Selection.Find.ClearFormatting
                    Selection.Find.Replacement.ClearFormatting
                    With Selection.Find.Replacement.Font
                        .BoldBi = True
                        .Underline = 0
                    End With
                    With Selection.Find
                        .Text = "(^$) "
                        .Replacement.Text = "^&"
                        .Forward = True
                        .Wrap = wdFindContinue
                        .Format = True
                        .MatchCase = False
                        .MatchWholeWord = False
                        .MatchKashida = False
                        .MatchDiacritics = False
                        .MatchAlefHamza = False
                        .MatchControl = False
                        .MatchWildcards = False
                        .MatchSoundsLike = False
                        .MatchAllWordForms = False
                        .Replacement.Font.NameBi = "ShefaClassic"
                    End With
                    Selection.Find.Execute Replace:=wdReplaceAll
                End Sub
                

                הערה קטנה וחשובה:
                כעת המאקרו מוגדר להחליף לפונט: ShefaClassic, תוכלו כמובן לשנות זאת לכל פונט העולה על רוחכם - פשוט החליפו את שם הפונט בשורה הזו:

                  .Replacement.Font.NameBi = "ShefaClassic"
                
                תגובה 1 תגובה אחרונה
                1
                • יאיר דניאלי מנותק
                  יאיר דניאלי מנותק
                  יאיר דניאל
                  כתב נערך לאחרונה על ידי
                  #10

                  מאקרו שיצרתי לבקשתו של אחד מחברי הפורום - להחלפת גופנים ע"י מאקרו.

                  גירסה א:

                  Sub FinalFont_InstantUpdate()
                      Dim selectedFont As String
                      Dim lastUsedFont As String
                      Dim answer As VbMsgBoxResult
                      
                      ' 1. בחירה מפורשת של הכל אם לא סומן כלום
                      If Selection.Start = Selection.End Then
                          ActiveDocument.Range.Select
                      End If
                      
                      ' 2. שליפת הגופן האחרון
                      lastUsedFont = GetSetting("MyWordMacros", "Settings", "LastFont", "David")
                      
                      ' 3. שאלה למשתמש
                      answer = MsgBox("האם להשתמש בגופן האחרון: " & lastUsedFont & "?" & vbCrLf & _
                                      "לחץ 'כן' לביצוע, או 'לא' לבחירה מרשימה.", _
                                      vbYesNoCancel + vbQuestion + vbMsgBoxRight + vbMsgBoxRtlReading, "החלפת גופן")
                      
                      If answer = vbYes Then
                          selectedFont = lastUsedFont
                      ElseIf answer = vbNo Then
                          With Application.Dialogs(wdDialogFormatFont)
                              If .Show = -1 Then
                                  selectedFont = Selection.Font.NameBi
                                  If selectedFont = "" Or selectedFont = "0" Then selectedFont = Selection.Font.Name
                              End If
                          End With
                          
                          If selectedFont <> "" And selectedFont <> "0" Then
                              SaveSetting "MyWordMacros", "Settings", "LastFont", selectedFont
                          Else
                              Selection.Collapse Direction:=wdCollapseStart
                              Exit Sub
                          End If
                      Else
                          Selection.Collapse Direction:=wdCollapseStart
                          Exit Sub
                      End If
                      
                      ' 4. ביצוע השינוי עם עדכון מסך כפוי
                      If selectedFont <> "" Then
                          Application.ScreenUpdating = False ' מכבה עדכון כדי להאיץ
                          
                          On Error Resume Next
                          With Selection.Font
                              .NameBi = selectedFont 
                              .Name = selectedFont   
                          End With
                          On Error GoTo 0
                          
                          ' פקודות לרענון מיידי של המסך
                          Application.ScreenUpdating = True ' מדליק חזרה ומאלץ רענון
                          DoEvents ' משחרר את המערכת לעדכון גרפי
                          Application.ScreenRefresh ' רענון סופי של Word
                          
                          Selection.Collapse Direction:=wdCollapseStart
                          Application.StatusBar = "הגופן עודכן ל-" & selectedFont
                      End If
                  End Sub
                  

                  e0ac8a21-6100-4afe-83f5-dcf99c283027-image.png 0eda229e-2e5c-444c-af5e-5a499d7e7876-image.png

                  גירסה ב:

                  בחירת גופן להחלפה - מתוך רשימה

                  Sub ReplaceSpecificFont()
                      Dim docFonts As New Collection
                      Dim targetFont As String
                      Dim replacementFont As String
                      Dim lastUsedFont As String
                      Dim i As Long
                      Dim fontChoice As String
                      Dim answer As VbMsgBoxResult
                  
                      ' 1. סריקת המסמך לזיהוי פונטים קיימים
                      On Error Resume Next
                      Dim para As Paragraph
                      For Each para In ActiveDocument.Paragraphs
                          ' הוספת הגופן הרגיל והגופן העברי לאוסף
                          If para.Range.Font.Name <> "" Then docFonts.Add para.Range.Font.Name, para.Range.Font.Name
                          If para.Range.Font.NameBi <> "" Then docFonts.Add para.Range.Font.NameBi, para.Range.Font.NameBi
                      Next para
                      On Error GoTo 0
                  
                      If docFonts.Count = 0 Then
                          MsgBox "לא נמצאו גופנים מזוהים.", vbExclamation
                          Exit Sub
                      End If
                  
                      ' 2. בחירת הגופן להחלפה
                      Dim fontList As String
                      fontList = "בחר מספר גופן להחלפה:" & vbCrLf
                      For i = 1 To docFonts.Count
                          fontList = fontList & i & ". " & docFonts(i) & vbCrLf
                      Next i
                  
                      fontChoice = InputBox(fontList, "חפש והחלף גופן")
                      If Not IsNumeric(fontChoice) Then Exit Sub
                      i = CInt(fontChoice)
                      If i < 1 Or i > docFonts.Count Then Exit Sub
                      targetFont = docFonts(i)
                  
                      ' 3. בחירת גופן היעד
                      lastUsedFont = GetSetting("MyWordMacros", "Settings", "LastFont", "David")
                      answer = MsgBox("להחליף את " & targetFont & " ב-" & lastUsedFont & "?" & vbCrLf & _
                                      "לחץ 'כן' לאישור, או 'לא' לבחירה מרשימה.", _
                                      vbYesNoCancel + vbQuestion + vbMsgBoxRight + vbMsgBoxRtlReading)
                  
                      If answer = vbYes Then
                          replacementFont = lastUsedFont
                      ElseIf answer = vbNo Then
                          With Application.Dialogs(wdDialogFormatFont)
                              If .Show = -1 Then
                                  replacementFont = Selection.Font.NameBi
                                  If replacementFont = "" Or replacementFont = "0" Then replacementFont = Selection.Font.Name
                              End If
                          End With
                      Else
                          Exit Sub
                      End If
                  
                      If replacementFont = "" Or replacementFont = "0" Then Exit Sub
                      SaveSetting "MyWordMacros", "Settings", "LastFont", replacementFont
                  
                      ' 4. ביצוע ההחלפה (שיטה משופרת)
                      Application.ScreenUpdating = False
                      
                      ' פקודת ההחלפה צריכה לרוץ פעמיים כדי לכסות גם עברית וגם אנגלית בוודאות
                      Call ExecuteFontReplace(targetFont, replacementFont, True)  ' עבור עברית
                      Call ExecuteFontReplace(targetFont, replacementFont, False) ' עבור אנגלית
                  
                      Application.ScreenUpdating = True
                      Application.ScreenRefresh
                      
                      MsgBox "הפעולה הושלמה עבור הגופן: " & targetFont, vbInformation
                  End Sub
                  
                  ' פונקציית עזר לביצוע ההחלפה בפועל' פונקציית עזר לביצוע ההחלפה בפועל - עם שמות פרמטרים תקינים
                  Sub ExecuteFontReplace(fTarget As String, fReplace As String, isBi As Boolean)
                      Dim r As Range
                      Set r = ActiveDocument.Content
                      
                      r.Find.ClearFormatting
                      r.Find.Replacement.ClearFormatting
                      
                      If isBi Then
                          r.Find.Font.NameBi = fTarget
                          r.Find.Replacement.Font.NameBi = fReplace
                      Else
                          r.Find.Font.Name = fTarget
                          r.Find.Replacement.Font.Name = fReplace
                      End If
                      
                      ' התיקון הקריטי: FindText במקום Text, ו-ReplaceWith במקום ReplacementText
                      r.Find.Execute FindText:="", ReplaceWith:="", _
                          Forward:=True, Wrap:=wdFindContinue, Format:=True, Replace:=wdReplaceAll
                  End Sub
                  

                  זה עובד כך - תמונות בספויילר

                  4cdb8855-0815-4bbc-8af7-a663a92f2931-image.png
                  3c7116dc-e525-4c44-bd9b-ba7833317db2-image.png
                  53a647f1-eccc-4800-8591-c95458306e00-image.png

                  גירסה ג:

                  (כמו גירסה ב' אבל לא צריך להקליד מספר גופן - אלא בוחרים בגופן עצמו - ההמשך אותו דבר).

                  פשוט להפעיל את הקובץ המצורף
                  החלפת גופנים.exe

                  או להכניס את הקובץ המצורף- לתיקיית הטמפלס של אופיס
                  (הקובץ למעלה ⏫ - עושה את זה אוטומטית)

                  החלפת גופנים.dotm

                  c8abf13f-ba1c-4a68-8d02-38c8044bae4b-image.png

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

                    מאקרו תיקון סמינים כפולים ושגיאות הקלדה

                    (פירוט הפעולות שנעשות ע"י המאקרו - בספויילר בסוף ההודעה)

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

                    הנה הוא, סתם לשם התרשמות:

                    Sub תיקון_סימנים_כפולים_ועוד()
                    '
                    ' תיקון_סימנים_כפולים_ועוד Macro
                    '
                    '
                    '
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        With Selection.Find
                            .Text = ".."
                            .Replacement.Text = "."
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        With Selection.Find
                            .Text = ".{4,}"
                            .Replacement.Text = "."
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = ",,"
                            .Replacement.Text = ","
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "''"
                            .Replacement.Text = "'"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "''"
                            .Replacement.Text = "'"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        With Selection.Find
                            .Text = ".?[! ]"
                            .Replacement.Text = "@@^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "@@."
                            .Replacement.Text = ". "
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        With Selection.Find
                            .Text = ",?[! ]"
                            .Replacement.Text = "@@^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "@@,"
                            .Replacement.Text = ", "
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = " . "
                            .Replacement.Text = ". "
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = " , "
                            .Replacement.Text = ", "
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = " ' "
                            .Replacement.Text = "' "
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = " ,"
                            .Replacement.Text = ","
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = " ."
                            .Replacement.Text = "."
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ייי"
                            .Replacement.Text = "יי"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "םם"
                            .Replacement.Text = "ם"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ןן"
                            .Replacement.Text = "ן"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ץץ"
                            .Replacement.Text = "ץ"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ףף"
                            .Replacement.Text = "ף"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ךך"
                            .Replacement.Text = "ך"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        Selection.Find.Replacement.Font.Color = wdColorRed
                        With Selection.Find
                            .Text = " ם"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = " ן"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = " ץ"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = " ף"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = " ך"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        Selection.Find.Replacement.Font.Color = wdColorRed
                        With Selection.Find
                        With Selection.Find
                            .Text = "ם[א-ת]"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ן[א-ת]"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ץ[א-ת]"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ף[א-ת]"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ך[א-ת]"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        Selection.Find.Replacement.Font.Color = wdColorRed
                        With Selection.Find
                            .Text = " [א-ת] "
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = " [א-ת]^13"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        Selection.Find.Replacement.Font.Color = wdColorAutomatic
                        With Selection.Find
                            .Text = "ן [א-ת] "
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ק [א-ת] "
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ה [א-ת] "
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ף [א-ת] "
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ת [א-ת] "
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ש [א-ת] "
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ג [א-ת] "
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "' [א-ת] "
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ן [א-ת]^13"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ק [א-ת]^13"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ה [א-ת]^13"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ף [א-ת]^13"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ת [א-ת]^13"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ש [א-ת]^13"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "ג [א-ת]^13"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "' [א-ת]^13"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        With Selection.Find
                            .Text = ", ("
                            .Replacement.Text = " ("
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = ". ["
                            .Replacement.Text = " ["
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = ", ["
                            .Replacement.Text = " ["
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "[ "
                            .Replacement.Text = "["
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = " ]"
                            .Replacement.Text = "]"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "( "
                            .Replacement.Text = "("
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = " )"
                            .Replacement.Text = ")"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        With Selection.Find
                            .Text = "(.)([! ^13]*>)"
                            .Replacement.Text = "\1 \2"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "(,)([! ^13]*>)"
                            .Replacement.Text = "\1 \2"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        With Selection.Find
                            .Text = "([! ^13'""])([(\[])"
                            .Replacement.Text = "\1 \2"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "([)\]])([! ^13.,'""\?\!])"
                            .Replacement.Text = "\1 \2"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchAllWordForms = False
                            .MatchSoundsLike = False
                            .MatchWildcards = True
                        End With
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        With Selection.Find
                            .Text = "^$. )"
                            .Replacement.Text = "^&@@"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        With Selection.Find
                            .Text = " )@@"
                            .Replacement.Text = ")"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = " ) "
                            .Replacement.Text = " ("
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = " ( "
                            .Replacement.Text = ") "
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        With Selection.Find
                            .Text = """""^$"
                            .Replacement.Text = "@@^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = "@@"""""
                            .Replacement.Text = """"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        With Selection.Find
                            .Text = "' ."
                            .Replacement.Text = "'."
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        With Selection.Find
                            .Text = "' ,"
                            .Replacement.Text = "',"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        With Selection.Find
                            .Text = "' ]"
                            .Replacement.Text = "']"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        With Selection.Find
                            .Text = "  "
                            .Replacement.Text = " "
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        With Selection.Find
                            .Text = "^p^p"
                            .Replacement.Text = "^p"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = " ^p"
                            .Replacement.Text = "^p"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        Selection.Find.Replacement.Font.Color = wdColorRed
                        With Selection.Find
                            .Text = """^$'"
                            .Replacement.Text = "^&"
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = True
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        Selection.Find.ClearFormatting
                        Selection.Find.Replacement.ClearFormatting
                        With Selection.Find
                            .Text = "^l ["
                            .Replacement.Text = "^l["
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        With Selection.Find
                            .Text = " ^l ["
                            .Replacement.Text = "^l["
                            .Forward = True
                            .Wrap = wdFindContinue
                            .Format = False
                            .MatchCase = False
                            .MatchWholeWord = False
                            .MatchKashida = False
                            .MatchDiacritics = False
                            .MatchAlefHamza = False
                            .MatchControl = False
                            .MatchWildcards = False
                            .MatchSoundsLike = False
                            .MatchAllWordForms = False
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                        End With
                        Selection.Find.Execute Replace:=wdReplaceAll
                    End Sub
                    

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

                    Sub תיקון_סימנים_כפולים_ ועוד()
                        ' עצירת רענון המסך למהירות ריצה מקסימלית
                        Application.ScreenUpdating = False
                        
                        Dim cntPunctuation As Long
                        Dim cntSpaces As Long
                        Dim cntRed As Long
                        Dim cntClean As Long
                        Dim i As Long
                        Dim spacesChanged As Long
                        
                        Dim arrFind As Variant, arrRep As Variant
                        
                        ' =======================================================
                        ' --- קטגוריה 1: סימני פיסוק וכפילויות (סדר פעולות קריטי) ---
                        ' =======================================================
                        
                        ' 1. נקודה כפול 4 ומעלה -> החלף בנקודה בודדת
                        cntPunctuation = cntPunctuation + FastReplaceAndCount(".{4,}", ".", True)
                        
                        ' 2. הגנה על 3 נקודות (...) כדי שלא ייהרסו - החלפה זמנית למחרוזת ייחודית
                        cntPunctuation = cntPunctuation + FastReplaceAndCount("...", "|||", False)
                        
                        ' 3. נקודה כפולה (..) -> החלף בנקודה בודדת
                        cntPunctuation = cntPunctuation + FastReplaceAndCount("..", ".", False)
                        
                        ' 4. החזרת ה-3 נקודות (...) למקומן המקורי
                        cntPunctuation = cntPunctuation + FastReplaceAndCount("|||", "...", False)
                        
                        ' 5. שלושה ייי -> החלף לשניים
                        cntPunctuation = cntPunctuation + FastReplaceAndCount("ייי", "יי", False)
                        
                        ' 6. שאר הכפילויות (פסיק כפול, גרש כפול, מרכאות כפולות כפולות, ואותיות סופיות כפולות)
                        arrFind = Array(",,", "''", "םם", "ןן", "ץץ", "ףף", "ךך", """""")
                        arrRep = Array(",", "'", "ם", "ן", "ץ", "ף", "ך", """")
                        For i = LBound(arrFind) To UBound(arrFind)
                            cntPunctuation = cntPunctuation + FastReplaceAndCount(CStr(arrFind(i)), CStr(arrRep(i)), False)
                        Next i
                        
                        ' =======================================================
                        ' --- קטגוריה 2: תיקוני רווחים, סוגריים ומעברים ---
                        ' =======================================================
                        
                        ' 1. רווח כפול -> החלף ברווח בודד (בלולאה עד לניקוי מלא של רווחים משולשים ומעלה)
                        Do
                            spacesChanged = FastReplaceAndCount("  ", " ", False)
                            cntSpaces = cntSpaces + spacesChanged
                        Loop While spacesChanged > 0
                        
                        ' 2. אנטר כפול -> החלף באנטר בודד
                        cntSpaces = cntSpaces + FastReplaceAndCount("^p^p", "^p", False)
                        
                        ' 3. רווח ואז מעבר שורה או מעבר פסקה -> מחק את הרווח
                        cntSpaces = cntSpaces + FastReplaceAndCount(" ^l", "^l", False)
                        cntSpaces = cntSpaces + FastReplaceAndCount(" ^p", "^p", False)
                        cntSpaces = cntSpaces + FastReplaceAndCount("^p ", "^p", False)
                        
                        ' 4. מילה רווח ואז נקודה/פסיק/גרש -> החלף בסימן ואז רווח
                        cntSpaces = cntSpaces + FastReplaceAndCount(" .", ". ", False)
                        cntSpaces = cntSpaces + FastReplaceAndCount(" ,", ", ", False)
                        cntSpaces = cntSpaces + FastReplaceAndCount(" '", "' ", False)
                        
                        ' 5. רווחים סביב סוגריים (פותח וסוגר)
                        cntSpaces = cntSpaces + FastReplaceAndCount("( ", "(", False)
                        cntSpaces = cntSpaces + FastReplaceAndCount("[ ", "[", False)
                        cntSpaces = cntSpaces + FastReplaceAndCount(" )", ")", False)
                        cntSpaces = cntSpaces + FastReplaceAndCount(" ]", "]", False)
                        
                        ' 6. סוגר סוגריים שאחריו רווח ופסיק או נקודה -> מחק את הרווח
                        cntSpaces = cntSpaces + FastReplaceAndCount(") .", ").", False)
                        cntSpaces = cntSpaces + FastReplaceAndCount(") ,", "),", False)
                        cntSpaces = cntSpaces + FastReplaceAndCount("] .", "].", False)
                        cntSpaces = cntSpaces + FastReplaceAndCount("] ,", "],", False)
                        
                        ' 7. נקודה/פסיק ואחריהם סוגריים -> העברה אל אחרי הסוגריים (בתנאי שאין שם כבר)
                        cntSpaces = cntSpaces + FastReplaceAndCount("\.([\(\)\[\]])\.", "\1.", True)
                        cntSpaces = cntSpaces + FastReplaceAndCount("\.([\(\)\[\]])", "\1.", True)
                        cntSpaces = cntSpaces + FastReplaceAndCount("\,([\(\)\[\]])\,", "\1,", True)
                        cntSpaces = cntSpaces + FastReplaceAndCount("\,([\(\)\[\]])", "\1,", True)
                        
                        ' 8. נקודה או פסיק ואז תו שאינו רווח (אות עברית) -> הוספת רווח אחרי הסימן
                        cntSpaces = cntSpaces + FastReplaceAndCount("(\.)([א-ת])", "\1 \2", True)
                        cntSpaces = cntSpaces + FastReplaceAndCount("(\,)([א-ת])", "\1 \2", True)
                        
                        ' 9. גרש בסוף מילה כאשר יש כבר מרכאות בתוך המילה -> מחק את הגרש המיותר בסוף
                        cntSpaces = cntSpaces + FastReplaceAndCount("([א-ת])""([א-ת]+)'", "\1""\2", True)
                        
                        ' 10. רווח ואז אות סופית -> אות סופית ואז רווח
                        arrFind = Array(" ם", " ן", " ץ", " ף", " ך")
                        arrRep = Array("ם ", "ן ", "ץ ", "ף ", "ך ")
                        For i = LBound(arrFind) To UBound(arrFind)
                            cntSpaces = cntSpaces + FastReplaceAndCount(CStr(arrFind(i)), CStr(arrRep(i)), False)
                        Next i
                        
                        ' =======================================================
                        ' --- קטגוריה 3: צביעה באדום לסימון שגיאות ---
                        ' =======================================================
                        
                        ' 1. אות סופית ואז אות רגילה מ-א' עד ת' (ללא רווח ביניהן)
                        cntRed = cntRed + FastReplaceAndCount("[םןץףך][א-ת]", "^&", True, wdColorRed)
                        
                        ' 2. רווח - אות בודדת - רווח (או מעבר פסקה)
                        cntRed = cntRed + FastReplaceAndCount(" [א-ת] ", "^&", True, wdColorRed)
                        cntRed = cntRed + FastReplaceAndCount(" [א-ת]^13", "^&", True, wdColorRed)
                        
                        ' 3. סוף מילה ואחריה מרכאות -> צביעת המרכאות בלבד באדום (מבלי לגעת בראשי תיבות!)
                        Selection.HomeKey Unit:=wdStory
                        With Selection.Find
                            .ClearFormatting
                            .Text = "[א-ת]"""
                            .MatchWildcards = True
                            .Wrap = wdFindStop
                            
                            Dim lastPosQuote As Long
                            lastPosQuote = -1
                            
                            Do While .Execute
                                If Selection.Start = lastPosQuote Then Exit Do
                                lastPosQuote = Selection.Start
                                
                                Dim isAcronym As Boolean
                                isAcronym = False
                                
                                ' בודקים את התו שמופיע מיד אחרי המרכאות
                                If Selection.End < ActiveDocument.Content.End Then
                                    Dim nextChar As String
                                    nextChar = ActiveDocument.Range(Selection.End, Selection.End + 1).Text
                                    ' אם התו הבא הוא אות עברית, סימן שמדובר בראשי תיבות
                                    If nextChar Like "[א-ת]" Then
                                        isAcronym = True
                                    End If
                                End If
                                
                                ' צובעים רק אם לא מדובר בראשי תיבות
                                If Not isAcronym Then
                                    ActiveDocument.Range(Selection.End - 1, Selection.End).Font.Color = wdColorRed
                                    cntRed = cntRed + 1
                                End If
                                
                                Selection.Collapse wdCollapseEnd
                            Loop
                        End With
                        
                        ' =======================================================
                        ' --- קטגוריה 4: ניקוי הדגשות אדומות מותרות (חריגים) ---
                        ' =======================================================
                        ' החזרת צבע אוטומטי לאותיות בודדות שמגיעות אחרי האותיות המותרות בדרישה
                        arrFind = Array("ן [א-ת] ", "ק [א-ת] ", "ה [א-ת] ", "ף [א-ת] ", "ת [א-ת] ", "ש [א-ת] ", "ג [א-ת] ", "' [א-ת] ", "ם [א-ת] ", _
                                        "ן [א-ת]^13", "ק [א-ת]^13", "ה [א-ת]^13", "ף [א-ת]^13", "ת [א-ת]^13", "ש [א-ת]^13", "ג [א-ת]^13", "' [א-ת]^13", "ם [א-ת]^13")
                        For i = LBound(arrFind) To UBound(arrFind)
                            cntClean = cntClean + FastReplaceAndCount(CStr(arrFind(i)), "^&", True, wdColorAutomatic)
                        Next i
                        
                        ' =======================================================
                        ' --- קטגוריה 5: תיקון באג סוגריים הפוכים ב-Word RTL ---
                        ' =======================================================
                        Selection.HomeKey Unit:=wdStory
                        With Selection.Find
                            .ClearFormatting
                            .Text = "[\(\)\[\]]"
                            .MatchWildcards = True
                            .Wrap = wdFindStop
                            
                            Dim lastPosBracket As Long
                            lastPosBracket = -1
                            
                            Do While .Execute
                                If Selection.Start = lastPosBracket Then Exit Do
                                lastPosBracket = Selection.Start
                                
                                Dim charFont As String
                                charFont = ""
                                
                                If Selection.End < ActiveDocument.Content.End Then
                                    charFont = ActiveDocument.Range(Selection.End, Selection.End + 1).Font.NameBi
                                End If
                                If charFont = "" And Selection.Start > 0 Then
                                    charFont = ActiveDocument.Range(Selection.Start - 1, Selection.Start).Font.NameBi
                                End If
                                
                                If charFont <> "" Then
                                    Selection.Font.Name = charFont
                                    Selection.Font.NameBi = charFont
                                    Selection.Font.NameAscii = charFont
                                    Selection.Font.NameOther = charFont
                                End If
                                Selection.Collapse wdCollapseEnd
                            Loop
                        End With
                        
                        ' הפעלת רענון המסך בחזרה בסיום הריצה
                        Application.ScreenUpdating = True
                        
                        ' =======================================================
                        ' --- 6. הפקת הודעת דיווח וסיכום ---
                        ' =======================================================
                        Dim msg As String
                        Dim totalChanges As Long
                        totalChanges = cntPunctuation + cntSpaces + cntRed + cntClean
                        
                        msg = "הפעולה הושלמה בהצלחה!" & vbCrLf & vbCrLf & _
                              "--- פירוט השינויים שבוצעו במסמך ---" & vbCrLf & _
                              "* סימני פיסוק וכפילויות שניקו: " & cntPunctuation & vbCrLf & _
                              "* תיקוני רווחים, סוגריים ומעברים: " & cntSpaces & vbCrLf & _
                              "* שגיאות ואותיות סופיות שנצבעו באדום: " & cntRed & vbCrLf & _
                              "* הדגשות שבוטלו (הוחזרו לצבע רגיל): " & cntClean & vbCrLf & _
                              "----------------------------------------" & vbCrLf & _
                              "סך כל השינויים שבוצעו במסמך: " & totalChanges
                              
                        MsgBox msg, vbInformation + vbMsgBoxRight + vbMsgBoxRtlReading, "דו""ח סיום תיקון מסמך"
                    End Sub
                     
                    ' פונקציית עזר פנימית קבועה ואמינה לספירה ולהחלפה מהירה במסמך (כולל הגנת מיקום)
                    Private Function FastReplaceAndCount(ByVal findText As String, ByVal replaceText As String, ByVal isWildcard As Boolean, Optional ByVal repColor As Long = -1) As Long
                        Dim c As Long
                        c = 0
                        Selection.HomeKey Unit:=wdStory
                        
                        Dim lastPos As Long
                        lastPos = -1
                        
                        ' שלב א: ספירת מופעים מוגנת
                        With Selection.Find
                            .ClearFormatting
                            .Text = findText
                            .MatchWildcards = isWildcard
                            .Forward = True
                            .Wrap = wdFindStop
                            
                            Do While .Execute
                                If Selection.Start = lastPos Then Exit Do
                                lastPos = Selection.Start
                                c = c + 1
                                Selection.Collapse wdCollapseEnd
                            Loop
                        End With
                        
                        ' שלב ב: ביצוע ההחלפה בפועל במידה ונמצאו מופעים
                        If c > 0 Then
                            Selection.HomeKey Unit:=wdStory
                            With Selection.Find
                                .ClearFormatting
                                .Replacement.ClearFormatting
                                .Text = findText
                                .Replacement.Text = replaceText
                                .MatchWildcards = isWildcard
                                .Forward = True
                                .Wrap = wdFindContinue
                                If repColor <> -1 Then .Replacement.Font.Color = repColor
                                .Execute Replace:=wdReplaceAll
                            End With
                        End If
                        
                        FastReplaceAndCount = c
                    End Function
                    

                    1. ניקוי כפילויות של סימני פיסוק ואותיות
                      בשלב הראשון, המאקרו עובר על המסמך ומנקה הקלדות כפולות ומיותרות:

                    נקודות כפולות: מחליף שתי נקודות רצופות (..) בנקודה אחת.

                    ריבוי נקודות: מחליף רצף של ארבע נקודות או יותר (....) בנקודה אחת (באמצעות זיהוי תבניות חכם).

                    פסיקים וגרשיים: מחליף פסיק כפול (,,) בפסיק בודד, ושני גרשיים רצופים ('') בגרש בודד.

                    אותיות סופיות כפולות: מחליף רצפים שגויים של אותיות סופיות (םם, ןן, ץץ, ףף, ךך) באות סופית אחת.

                    קיצור יודי"ם: מחליף שלושה יודי"ם רצופים (ייי) בשניים (יי).

                    1. סידור רווחים, סוגריים ומעברי שורה
                      בשלב זה, המאקרו מטפל בנראות הכללית של הטקסט ומוודא שהריווח תקין:

                    הוספת רווחים חסרים: אם הוקלדה נקודה או פסיק ומיד אחריהם מילה (ללא רווח), המאקרו מפריד ביניהם ומוסיף את הרווח החסר.

                    הסרת רווחים לפני סימני פיסוק: מתקן שגיאות שבהן הוקלד רווח לפני נקודה, פסיק או גרש (לדוגמה: הופך , ל-, ).

                    ניקוי רווחים בתוך סוגריים: מוחק רווחים מיותרים שמופיעים מיד לאחר פתיחת סוגריים או רגע לפני סגירתם (הופך ( מילה ) ל-(מילה)).

                    ריווח חיצוני לסוגריים: מוודא שיש רווח תקני לפני פתיחת סוגריים ואחרי סגירת סוגריים (בתנאי שאין שם סימן פיסוק אחר).

                    מחיקת רווחים כפולים: סורק את כל המסמך ומצמצם כל רווח כפול לרווח אחד.

                    סידור אנטרים ומעברי שורה: מחליף שני אנטרים רצופים (פסקאות ריקות) באנטר אחד, ומוחק רווחים מיותרים שהוקלדו בטעות בדיוק לפני אנטר או לפני מעבר שורה ידני (Shift+Enter).

                    1. איתור שגיאות הקלדה והדגשתן באדום (בקרת איכות)
                      המאקרו משמש כעורך לשוני שמתריע על מילים קטועות או שגיאות הקלדה נפוצות על ידי צביעתן באדום:

                    אות סופית בתחילת מילה: מזהה וצובע אות סופית (ם, ן, ץ, ף, ך) שהוקלדה מיד אחרי רווח.

                    אות סופית באמצע מילה: מזהה וצובע אות סופית שמיד אחריה הוקלדה אות רגילה (לדוגמה: המילה "שלוםם" תצבע את ה-'ם' הראשונה, או "עכשיןו").

                    אותיות בודדות וקטועות: מזהה אותיות בודדות שעומדות לבדן (רווח לפני ורווח או אנטר אחרי) וצובע אותן, כדי להתריע על מילה שנקטעה בטעות.

                    1. החזרת צבע רגיל למקרים לגיטימיים (ניקוי הדגשות)
                      מכיוון שהשלב הקודם צובע כל אות בודדת, המאקרו חכם מספיק כדי לעבור שוב ולבטל את הצבע האדום (להחזיר לשחור/אוטומטי) עבור אותיות בודדות שהן תקינות לחלוטין בשפה העברית:

                    מסיר את הצבע מאותיות הקידומת או מילים בנות אות אחת: ן, ק, ה, ף, ת, ש, ג (למשל ה' הידיעה, ו' החיבור אם הוקלדה בטעות כבודדת, וכד').

                    מסיר את הצבע מגרש בודד שמגיע אחרי אותיות.

                    1. סנכרון ותיקון עיצוב סוגריים (טיפול בבאג של Word)
                      המאקרו סורק מחדש את כל המסמך ומחפש כל תו של סוגריים עגולים () או מרובעים [].

                    עבור כל סוגר שהוא מוצא, הוא "מסתכל" על האות העברית שצמודה אליו וקורא את סוג הגופן שלה (למשל: פרנק-ריל, דוד, נרקיסים).

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

                    עריכה:
                    הקוד החדש נערך ותוקן

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

                      מאקרו תיקון סמינים כפולים ושגיאות הקלדה

                      (פירוט הפעולות שנעשות ע"י המאקרו - בספויילר בסוף ההודעה)

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

                      הנה הוא, סתם לשם התרשמות:

                      Sub תיקון_סימנים_כפולים_ועוד()
                      '
                      ' תיקון_סימנים_כפולים_ועוד Macro
                      '
                      '
                      '
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          With Selection.Find
                              .Text = ".."
                              .Replacement.Text = "."
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          With Selection.Find
                              .Text = ".{4,}"
                              .Replacement.Text = "."
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = ",,"
                              .Replacement.Text = ","
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "''"
                              .Replacement.Text = "'"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "''"
                              .Replacement.Text = "'"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          With Selection.Find
                              .Text = ".?[! ]"
                              .Replacement.Text = "@@^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "@@."
                              .Replacement.Text = ". "
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          With Selection.Find
                              .Text = ",?[! ]"
                              .Replacement.Text = "@@^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "@@,"
                              .Replacement.Text = ", "
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = " . "
                              .Replacement.Text = ". "
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = " , "
                              .Replacement.Text = ", "
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = " ' "
                              .Replacement.Text = "' "
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = " ,"
                              .Replacement.Text = ","
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = " ."
                              .Replacement.Text = "."
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ייי"
                              .Replacement.Text = "יי"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "םם"
                              .Replacement.Text = "ם"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ןן"
                              .Replacement.Text = "ן"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ץץ"
                              .Replacement.Text = "ץ"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ףף"
                              .Replacement.Text = "ף"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ךך"
                              .Replacement.Text = "ך"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          Selection.Find.Replacement.Font.Color = wdColorRed
                          With Selection.Find
                              .Text = " ם"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = " ן"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = " ץ"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = " ף"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = " ך"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          Selection.Find.Replacement.Font.Color = wdColorRed
                          With Selection.Find
                          With Selection.Find
                              .Text = "ם[א-ת]"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ן[א-ת]"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ץ[א-ת]"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ף[א-ת]"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ך[א-ת]"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          Selection.Find.Replacement.Font.Color = wdColorRed
                          With Selection.Find
                              .Text = " [א-ת] "
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = " [א-ת]^13"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          Selection.Find.Replacement.Font.Color = wdColorAutomatic
                          With Selection.Find
                              .Text = "ן [א-ת] "
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ק [א-ת] "
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ה [א-ת] "
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ף [א-ת] "
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ת [א-ת] "
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ש [א-ת] "
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ג [א-ת] "
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "' [א-ת] "
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ן [א-ת]^13"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ק [א-ת]^13"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ה [א-ת]^13"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ף [א-ת]^13"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ת [א-ת]^13"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ש [א-ת]^13"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "ג [א-ת]^13"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "' [א-ת]^13"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          With Selection.Find
                              .Text = ", ("
                              .Replacement.Text = " ("
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = ". ["
                              .Replacement.Text = " ["
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = ", ["
                              .Replacement.Text = " ["
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "[ "
                              .Replacement.Text = "["
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = " ]"
                              .Replacement.Text = "]"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "( "
                              .Replacement.Text = "("
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = " )"
                              .Replacement.Text = ")"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          With Selection.Find
                              .Text = "(.)([! ^13]*>)"
                              .Replacement.Text = "\1 \2"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "(,)([! ^13]*>)"
                              .Replacement.Text = "\1 \2"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          With Selection.Find
                              .Text = "([! ^13'""])([(\[])"
                              .Replacement.Text = "\1 \2"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "([)\]])([! ^13.,'""\?\!])"
                              .Replacement.Text = "\1 \2"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchAllWordForms = False
                              .MatchSoundsLike = False
                              .MatchWildcards = True
                          End With
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          With Selection.Find
                              .Text = "^$. )"
                              .Replacement.Text = "^&@@"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          With Selection.Find
                              .Text = " )@@"
                              .Replacement.Text = ")"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = " ) "
                              .Replacement.Text = " ("
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = " ( "
                              .Replacement.Text = ") "
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          With Selection.Find
                              .Text = """""^$"
                              .Replacement.Text = "@@^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = "@@"""""
                              .Replacement.Text = """"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          With Selection.Find
                              .Text = "' ."
                              .Replacement.Text = "'."
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          With Selection.Find
                              .Text = "' ,"
                              .Replacement.Text = "',"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          With Selection.Find
                              .Text = "' ]"
                              .Replacement.Text = "']"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          With Selection.Find
                              .Text = "  "
                              .Replacement.Text = " "
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          With Selection.Find
                              .Text = "^p^p"
                              .Replacement.Text = "^p"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = " ^p"
                              .Replacement.Text = "^p"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          Selection.Find.Replacement.Font.Color = wdColorRed
                          With Selection.Find
                              .Text = """^$'"
                              .Replacement.Text = "^&"
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = True
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          Selection.Find.ClearFormatting
                          Selection.Find.Replacement.ClearFormatting
                          With Selection.Find
                              .Text = "^l ["
                              .Replacement.Text = "^l["
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          With Selection.Find
                              .Text = " ^l ["
                              .Replacement.Text = "^l["
                              .Forward = True
                              .Wrap = wdFindContinue
                              .Format = False
                              .MatchCase = False
                              .MatchWholeWord = False
                              .MatchKashida = False
                              .MatchDiacritics = False
                              .MatchAlefHamza = False
                              .MatchControl = False
                              .MatchWildcards = False
                              .MatchSoundsLike = False
                              .MatchAllWordForms = False
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                          End With
                          Selection.Find.Execute Replace:=wdReplaceAll
                      End Sub
                      

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

                      Sub תיקון_סימנים_כפולים_ ועוד()
                          ' עצירת רענון המסך למהירות ריצה מקסימלית
                          Application.ScreenUpdating = False
                          
                          Dim cntPunctuation As Long
                          Dim cntSpaces As Long
                          Dim cntRed As Long
                          Dim cntClean As Long
                          Dim i As Long
                          Dim spacesChanged As Long
                          
                          Dim arrFind As Variant, arrRep As Variant
                          
                          ' =======================================================
                          ' --- קטגוריה 1: סימני פיסוק וכפילויות (סדר פעולות קריטי) ---
                          ' =======================================================
                          
                          ' 1. נקודה כפול 4 ומעלה -> החלף בנקודה בודדת
                          cntPunctuation = cntPunctuation + FastReplaceAndCount(".{4,}", ".", True)
                          
                          ' 2. הגנה על 3 נקודות (...) כדי שלא ייהרסו - החלפה זמנית למחרוזת ייחודית
                          cntPunctuation = cntPunctuation + FastReplaceAndCount("...", "|||", False)
                          
                          ' 3. נקודה כפולה (..) -> החלף בנקודה בודדת
                          cntPunctuation = cntPunctuation + FastReplaceAndCount("..", ".", False)
                          
                          ' 4. החזרת ה-3 נקודות (...) למקומן המקורי
                          cntPunctuation = cntPunctuation + FastReplaceAndCount("|||", "...", False)
                          
                          ' 5. שלושה ייי -> החלף לשניים
                          cntPunctuation = cntPunctuation + FastReplaceAndCount("ייי", "יי", False)
                          
                          ' 6. שאר הכפילויות (פסיק כפול, גרש כפול, מרכאות כפולות כפולות, ואותיות סופיות כפולות)
                          arrFind = Array(",,", "''", "םם", "ןן", "ץץ", "ףף", "ךך", """""")
                          arrRep = Array(",", "'", "ם", "ן", "ץ", "ף", "ך", """")
                          For i = LBound(arrFind) To UBound(arrFind)
                              cntPunctuation = cntPunctuation + FastReplaceAndCount(CStr(arrFind(i)), CStr(arrRep(i)), False)
                          Next i
                          
                          ' =======================================================
                          ' --- קטגוריה 2: תיקוני רווחים, סוגריים ומעברים ---
                          ' =======================================================
                          
                          ' 1. רווח כפול -> החלף ברווח בודד (בלולאה עד לניקוי מלא של רווחים משולשים ומעלה)
                          Do
                              spacesChanged = FastReplaceAndCount("  ", " ", False)
                              cntSpaces = cntSpaces + spacesChanged
                          Loop While spacesChanged > 0
                          
                          ' 2. אנטר כפול -> החלף באנטר בודד
                          cntSpaces = cntSpaces + FastReplaceAndCount("^p^p", "^p", False)
                          
                          ' 3. רווח ואז מעבר שורה או מעבר פסקה -> מחק את הרווח
                          cntSpaces = cntSpaces + FastReplaceAndCount(" ^l", "^l", False)
                          cntSpaces = cntSpaces + FastReplaceAndCount(" ^p", "^p", False)
                          cntSpaces = cntSpaces + FastReplaceAndCount("^p ", "^p", False)
                          
                          ' 4. מילה רווח ואז נקודה/פסיק/גרש -> החלף בסימן ואז רווח
                          cntSpaces = cntSpaces + FastReplaceAndCount(" .", ". ", False)
                          cntSpaces = cntSpaces + FastReplaceAndCount(" ,", ", ", False)
                          cntSpaces = cntSpaces + FastReplaceAndCount(" '", "' ", False)
                          
                          ' 5. רווחים סביב סוגריים (פותח וסוגר)
                          cntSpaces = cntSpaces + FastReplaceAndCount("( ", "(", False)
                          cntSpaces = cntSpaces + FastReplaceAndCount("[ ", "[", False)
                          cntSpaces = cntSpaces + FastReplaceAndCount(" )", ")", False)
                          cntSpaces = cntSpaces + FastReplaceAndCount(" ]", "]", False)
                          
                          ' 6. סוגר סוגריים שאחריו רווח ופסיק או נקודה -> מחק את הרווח
                          cntSpaces = cntSpaces + FastReplaceAndCount(") .", ").", False)
                          cntSpaces = cntSpaces + FastReplaceAndCount(") ,", "),", False)
                          cntSpaces = cntSpaces + FastReplaceAndCount("] .", "].", False)
                          cntSpaces = cntSpaces + FastReplaceAndCount("] ,", "],", False)
                          
                          ' 7. נקודה/פסיק ואחריהם סוגריים -> העברה אל אחרי הסוגריים (בתנאי שאין שם כבר)
                          cntSpaces = cntSpaces + FastReplaceAndCount("\.([\(\)\[\]])\.", "\1.", True)
                          cntSpaces = cntSpaces + FastReplaceAndCount("\.([\(\)\[\]])", "\1.", True)
                          cntSpaces = cntSpaces + FastReplaceAndCount("\,([\(\)\[\]])\,", "\1,", True)
                          cntSpaces = cntSpaces + FastReplaceAndCount("\,([\(\)\[\]])", "\1,", True)
                          
                          ' 8. נקודה או פסיק ואז תו שאינו רווח (אות עברית) -> הוספת רווח אחרי הסימן
                          cntSpaces = cntSpaces + FastReplaceAndCount("(\.)([א-ת])", "\1 \2", True)
                          cntSpaces = cntSpaces + FastReplaceAndCount("(\,)([א-ת])", "\1 \2", True)
                          
                          ' 9. גרש בסוף מילה כאשר יש כבר מרכאות בתוך המילה -> מחק את הגרש המיותר בסוף
                          cntSpaces = cntSpaces + FastReplaceAndCount("([א-ת])""([א-ת]+)'", "\1""\2", True)
                          
                          ' 10. רווח ואז אות סופית -> אות סופית ואז רווח
                          arrFind = Array(" ם", " ן", " ץ", " ף", " ך")
                          arrRep = Array("ם ", "ן ", "ץ ", "ף ", "ך ")
                          For i = LBound(arrFind) To UBound(arrFind)
                              cntSpaces = cntSpaces + FastReplaceAndCount(CStr(arrFind(i)), CStr(arrRep(i)), False)
                          Next i
                          
                          ' =======================================================
                          ' --- קטגוריה 3: צביעה באדום לסימון שגיאות ---
                          ' =======================================================
                          
                          ' 1. אות סופית ואז אות רגילה מ-א' עד ת' (ללא רווח ביניהן)
                          cntRed = cntRed + FastReplaceAndCount("[םןץףך][א-ת]", "^&", True, wdColorRed)
                          
                          ' 2. רווח - אות בודדת - רווח (או מעבר פסקה)
                          cntRed = cntRed + FastReplaceAndCount(" [א-ת] ", "^&", True, wdColorRed)
                          cntRed = cntRed + FastReplaceAndCount(" [א-ת]^13", "^&", True, wdColorRed)
                          
                          ' 3. סוף מילה ואחריה מרכאות -> צביעת המרכאות בלבד באדום (מבלי לגעת בראשי תיבות!)
                          Selection.HomeKey Unit:=wdStory
                          With Selection.Find
                              .ClearFormatting
                              .Text = "[א-ת]"""
                              .MatchWildcards = True
                              .Wrap = wdFindStop
                              
                              Dim lastPosQuote As Long
                              lastPosQuote = -1
                              
                              Do While .Execute
                                  If Selection.Start = lastPosQuote Then Exit Do
                                  lastPosQuote = Selection.Start
                                  
                                  Dim isAcronym As Boolean
                                  isAcronym = False
                                  
                                  ' בודקים את התו שמופיע מיד אחרי המרכאות
                                  If Selection.End < ActiveDocument.Content.End Then
                                      Dim nextChar As String
                                      nextChar = ActiveDocument.Range(Selection.End, Selection.End + 1).Text
                                      ' אם התו הבא הוא אות עברית, סימן שמדובר בראשי תיבות
                                      If nextChar Like "[א-ת]" Then
                                          isAcronym = True
                                      End If
                                  End If
                                  
                                  ' צובעים רק אם לא מדובר בראשי תיבות
                                  If Not isAcronym Then
                                      ActiveDocument.Range(Selection.End - 1, Selection.End).Font.Color = wdColorRed
                                      cntRed = cntRed + 1
                                  End If
                                  
                                  Selection.Collapse wdCollapseEnd
                              Loop
                          End With
                          
                          ' =======================================================
                          ' --- קטגוריה 4: ניקוי הדגשות אדומות מותרות (חריגים) ---
                          ' =======================================================
                          ' החזרת צבע אוטומטי לאותיות בודדות שמגיעות אחרי האותיות המותרות בדרישה
                          arrFind = Array("ן [א-ת] ", "ק [א-ת] ", "ה [א-ת] ", "ף [א-ת] ", "ת [א-ת] ", "ש [א-ת] ", "ג [א-ת] ", "' [א-ת] ", "ם [א-ת] ", _
                                          "ן [א-ת]^13", "ק [א-ת]^13", "ה [א-ת]^13", "ף [א-ת]^13", "ת [א-ת]^13", "ש [א-ת]^13", "ג [א-ת]^13", "' [א-ת]^13", "ם [א-ת]^13")
                          For i = LBound(arrFind) To UBound(arrFind)
                              cntClean = cntClean + FastReplaceAndCount(CStr(arrFind(i)), "^&", True, wdColorAutomatic)
                          Next i
                          
                          ' =======================================================
                          ' --- קטגוריה 5: תיקון באג סוגריים הפוכים ב-Word RTL ---
                          ' =======================================================
                          Selection.HomeKey Unit:=wdStory
                          With Selection.Find
                              .ClearFormatting
                              .Text = "[\(\)\[\]]"
                              .MatchWildcards = True
                              .Wrap = wdFindStop
                              
                              Dim lastPosBracket As Long
                              lastPosBracket = -1
                              
                              Do While .Execute
                                  If Selection.Start = lastPosBracket Then Exit Do
                                  lastPosBracket = Selection.Start
                                  
                                  Dim charFont As String
                                  charFont = ""
                                  
                                  If Selection.End < ActiveDocument.Content.End Then
                                      charFont = ActiveDocument.Range(Selection.End, Selection.End + 1).Font.NameBi
                                  End If
                                  If charFont = "" And Selection.Start > 0 Then
                                      charFont = ActiveDocument.Range(Selection.Start - 1, Selection.Start).Font.NameBi
                                  End If
                                  
                                  If charFont <> "" Then
                                      Selection.Font.Name = charFont
                                      Selection.Font.NameBi = charFont
                                      Selection.Font.NameAscii = charFont
                                      Selection.Font.NameOther = charFont
                                  End If
                                  Selection.Collapse wdCollapseEnd
                              Loop
                          End With
                          
                          ' הפעלת רענון המסך בחזרה בסיום הריצה
                          Application.ScreenUpdating = True
                          
                          ' =======================================================
                          ' --- 6. הפקת הודעת דיווח וסיכום ---
                          ' =======================================================
                          Dim msg As String
                          Dim totalChanges As Long
                          totalChanges = cntPunctuation + cntSpaces + cntRed + cntClean
                          
                          msg = "הפעולה הושלמה בהצלחה!" & vbCrLf & vbCrLf & _
                                "--- פירוט השינויים שבוצעו במסמך ---" & vbCrLf & _
                                "* סימני פיסוק וכפילויות שניקו: " & cntPunctuation & vbCrLf & _
                                "* תיקוני רווחים, סוגריים ומעברים: " & cntSpaces & vbCrLf & _
                                "* שגיאות ואותיות סופיות שנצבעו באדום: " & cntRed & vbCrLf & _
                                "* הדגשות שבוטלו (הוחזרו לצבע רגיל): " & cntClean & vbCrLf & _
                                "----------------------------------------" & vbCrLf & _
                                "סך כל השינויים שבוצעו במסמך: " & totalChanges
                                
                          MsgBox msg, vbInformation + vbMsgBoxRight + vbMsgBoxRtlReading, "דו""ח סיום תיקון מסמך"
                      End Sub
                       
                      ' פונקציית עזר פנימית קבועה ואמינה לספירה ולהחלפה מהירה במסמך (כולל הגנת מיקום)
                      Private Function FastReplaceAndCount(ByVal findText As String, ByVal replaceText As String, ByVal isWildcard As Boolean, Optional ByVal repColor As Long = -1) As Long
                          Dim c As Long
                          c = 0
                          Selection.HomeKey Unit:=wdStory
                          
                          Dim lastPos As Long
                          lastPos = -1
                          
                          ' שלב א: ספירת מופעים מוגנת
                          With Selection.Find
                              .ClearFormatting
                              .Text = findText
                              .MatchWildcards = isWildcard
                              .Forward = True
                              .Wrap = wdFindStop
                              
                              Do While .Execute
                                  If Selection.Start = lastPos Then Exit Do
                                  lastPos = Selection.Start
                                  c = c + 1
                                  Selection.Collapse wdCollapseEnd
                              Loop
                          End With
                          
                          ' שלב ב: ביצוע ההחלפה בפועל במידה ונמצאו מופעים
                          If c > 0 Then
                              Selection.HomeKey Unit:=wdStory
                              With Selection.Find
                                  .ClearFormatting
                                  .Replacement.ClearFormatting
                                  .Text = findText
                                  .Replacement.Text = replaceText
                                  .MatchWildcards = isWildcard
                                  .Forward = True
                                  .Wrap = wdFindContinue
                                  If repColor <> -1 Then .Replacement.Font.Color = repColor
                                  .Execute Replace:=wdReplaceAll
                              End With
                          End If
                          
                          FastReplaceAndCount = c
                      End Function
                      

                      1. ניקוי כפילויות של סימני פיסוק ואותיות
                        בשלב הראשון, המאקרו עובר על המסמך ומנקה הקלדות כפולות ומיותרות:

                      נקודות כפולות: מחליף שתי נקודות רצופות (..) בנקודה אחת.

                      ריבוי נקודות: מחליף רצף של ארבע נקודות או יותר (....) בנקודה אחת (באמצעות זיהוי תבניות חכם).

                      פסיקים וגרשיים: מחליף פסיק כפול (,,) בפסיק בודד, ושני גרשיים רצופים ('') בגרש בודד.

                      אותיות סופיות כפולות: מחליף רצפים שגויים של אותיות סופיות (םם, ןן, ץץ, ףף, ךך) באות סופית אחת.

                      קיצור יודי"ם: מחליף שלושה יודי"ם רצופים (ייי) בשניים (יי).

                      1. סידור רווחים, סוגריים ומעברי שורה
                        בשלב זה, המאקרו מטפל בנראות הכללית של הטקסט ומוודא שהריווח תקין:

                      הוספת רווחים חסרים: אם הוקלדה נקודה או פסיק ומיד אחריהם מילה (ללא רווח), המאקרו מפריד ביניהם ומוסיף את הרווח החסר.

                      הסרת רווחים לפני סימני פיסוק: מתקן שגיאות שבהן הוקלד רווח לפני נקודה, פסיק או גרש (לדוגמה: הופך , ל-, ).

                      ניקוי רווחים בתוך סוגריים: מוחק רווחים מיותרים שמופיעים מיד לאחר פתיחת סוגריים או רגע לפני סגירתם (הופך ( מילה ) ל-(מילה)).

                      ריווח חיצוני לסוגריים: מוודא שיש רווח תקני לפני פתיחת סוגריים ואחרי סגירת סוגריים (בתנאי שאין שם סימן פיסוק אחר).

                      מחיקת רווחים כפולים: סורק את כל המסמך ומצמצם כל רווח כפול לרווח אחד.

                      סידור אנטרים ומעברי שורה: מחליף שני אנטרים רצופים (פסקאות ריקות) באנטר אחד, ומוחק רווחים מיותרים שהוקלדו בטעות בדיוק לפני אנטר או לפני מעבר שורה ידני (Shift+Enter).

                      1. איתור שגיאות הקלדה והדגשתן באדום (בקרת איכות)
                        המאקרו משמש כעורך לשוני שמתריע על מילים קטועות או שגיאות הקלדה נפוצות על ידי צביעתן באדום:

                      אות סופית בתחילת מילה: מזהה וצובע אות סופית (ם, ן, ץ, ף, ך) שהוקלדה מיד אחרי רווח.

                      אות סופית באמצע מילה: מזהה וצובע אות סופית שמיד אחריה הוקלדה אות רגילה (לדוגמה: המילה "שלוםם" תצבע את ה-'ם' הראשונה, או "עכשיןו").

                      אותיות בודדות וקטועות: מזהה אותיות בודדות שעומדות לבדן (רווח לפני ורווח או אנטר אחרי) וצובע אותן, כדי להתריע על מילה שנקטעה בטעות.

                      1. החזרת צבע רגיל למקרים לגיטימיים (ניקוי הדגשות)
                        מכיוון שהשלב הקודם צובע כל אות בודדת, המאקרו חכם מספיק כדי לעבור שוב ולבטל את הצבע האדום (להחזיר לשחור/אוטומטי) עבור אותיות בודדות שהן תקינות לחלוטין בשפה העברית:

                      מסיר את הצבע מאותיות הקידומת או מילים בנות אות אחת: ן, ק, ה, ף, ת, ש, ג (למשל ה' הידיעה, ו' החיבור אם הוקלדה בטעות כבודדת, וכד').

                      מסיר את הצבע מגרש בודד שמגיע אחרי אותיות.

                      1. סנכרון ותיקון עיצוב סוגריים (טיפול בבאג של Word)
                        המאקרו סורק מחדש את כל המסמך ומחפש כל תו של סוגריים עגולים () או מרובעים [].

                      עבור כל סוגר שהוא מוצא, הוא "מסתכל" על האות העברית שצמודה אליו וקורא את סוג הגופן שלה (למשל: פרנק-ריל, דוד, נרקיסים).

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

                      עריכה:
                      הקוד החדש נערך ותוקן

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

                      @יאיר-דניאל
                      אצלי הקוד החדש נכנס לLOOP אין סופי.

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

                        @יאיר-דניאל
                        אצלי הקוד החדש נכנס לLOOP אין סופי.

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

                        @דאנציג איזה גודל קובץ?
                        כי אצלי עובד מצויין.
                        אבל שמת לב שיש בו כמה אי דיוקים קטנים.
                        אם יהיה לי זמן אעבוד על זה בלילה

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

                          @דאנציג איזה גודל קובץ?
                          כי אצלי עובד מצויין.
                          אבל שמת לב שיש בו כמה אי דיוקים קטנים.
                          אם יהיה לי זמן אעבוד על זה בלילה

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

                          @יאיר-דניאל כתב בשיתוף | המשך - "מתעדכן" אוסף מאקרו לוורד - אינדקס מאקרו שימושי + הוראות חשובות.:

                          איזה גודל קובץ?

                          57 עמו'

                          תגובה 1 תגובה אחרונה
                          1
                          • ש מנותק
                            ש מנותק
                            שאלתיאל
                            כתב נערך לאחרונה על ידי שאלתיאל
                            #15
                            מאקרו להחלת טור אחד לפי סגנון

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

                            המאקרו נערך כשעה אחרי שהועלה, יש להורידו שוב

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

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

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

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

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

                            • התחברות

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

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