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

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

בקשה | יצירת מאקרו חיפוש והחלפה לפי עיצוב ולא מילים

מתוזמן נעוץ נעול הועבר עזרה הדדית - וורד
14 פוסטים 4 כותבים 71 צפיות 3 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ע מנותק
    ע מנותק
    עולה במסילה
    כתב נערך לאחרונה על ידי
    #1

    שלום וברכה יש לי המון מסמכים שעיצבתי אותם פעם בגופנים מסוימים ואני מעוניין להחליף את הגופנים הקיימים בגופנים אחרים, אבל הענין הוא שכל פעם אני צריך להגדיר מחדש את העיצוב שברצוני להחליף ואת העיצוב שאני רוצה שיתחלף מה שעל כל קובץ לוקח זמן.
    לכך מי שיכול בבקשה לכתוב לי מאקרו של חיפוש והחלפה לפי עיצוב של גופן אשמח מאוד ובנוסף שאני יוכל לשמור את הגדרת העיצוב באופן קבוע (אפי' אם זה יהיה כמה פקודות מאקרו לכל גופן בשונה) אשמח מאוד
    תודה רבה
    @pcinfogmach

    יאיר דניאלי דאנציגד ז 3 תגובות תגובה אחרונה
    0
    • ע עולה במסילה

      שלום וברכה יש לי המון מסמכים שעיצבתי אותם פעם בגופנים מסוימים ואני מעוניין להחליף את הגופנים הקיימים בגופנים אחרים, אבל הענין הוא שכל פעם אני צריך להגדיר מחדש את העיצוב שברצוני להחליף ואת העיצוב שאני רוצה שיתחלף מה שעל כל קובץ לוקח זמן.
      לכך מי שיכול בבקשה לכתוב לי מאקרו של חיפוש והחלפה לפי עיצוב של גופן אשמח מאוד ובנוסף שאני יוכל לשמור את הגדרת העיצוב באופן קבוע (אפי' אם זה יהיה כמה פקודות מאקרו לכל גופן בשונה) אשמח מאוד
      תודה רבה
      @pcinfogmach

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

      @עולה-במסילה
      יצרתי לך - בעזרת AI.
      מקווה שזה מה שהתכוונת...

      תמונות בספויילר בסוף

      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

      ע תגובה 1 תגובה אחרונה
      2
      • ע עולה במסילה

        שלום וברכה יש לי המון מסמכים שעיצבתי אותם פעם בגופנים מסוימים ואני מעוניין להחליף את הגופנים הקיימים בגופנים אחרים, אבל הענין הוא שכל פעם אני צריך להגדיר מחדש את העיצוב שברצוני להחליף ואת העיצוב שאני רוצה שיתחלף מה שעל כל קובץ לוקח זמן.
        לכך מי שיכול בבקשה לכתוב לי מאקרו של חיפוש והחלפה לפי עיצוב של גופן אשמח מאוד ובנוסף שאני יוכל לשמור את הגדרת העיצוב באופן קבוע (אפי' אם זה יהיה כמה פקודות מאקרו לכל גופן בשונה) אשמח מאוד
        תודה רבה
        @pcinfogmach

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

        @עולה-במסילה כתב בבקשה | יצירת מאקרו חיפוש והחלפה לפי עיצוב ולא מילים:

        שאני רוצה שיתחלף מה שעל כל קובץ לוקח זמן.

        בתוסף 'עיצוב תורני' יש אפשרות החלפה במסמכים מרובים / לפי תיקיות!!!
        b460532f-74e5-4640-8c1e-78c4cd392df4-image.png

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

          @עולה-במסילה כתב בבקשה | יצירת מאקרו חיפוש והחלפה לפי עיצוב ולא מילים:

          שאני רוצה שיתחלף מה שעל כל קובץ לוקח זמן.

          בתוסף 'עיצוב תורני' יש אפשרות החלפה במסמכים מרובים / לפי תיקיות!!!
          b460532f-74e5-4640-8c1e-78c4cd392df4-image.png

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

          @דאנציג אבל הוא מאפשר החלפת קטעים מסויימים בתוך הקובץ, לא?

          תגובה 1 תגובה אחרונה
          0
          • ע עולה במסילה

            שלום וברכה יש לי המון מסמכים שעיצבתי אותם פעם בגופנים מסוימים ואני מעוניין להחליף את הגופנים הקיימים בגופנים אחרים, אבל הענין הוא שכל פעם אני צריך להגדיר מחדש את העיצוב שברצוני להחליף ואת העיצוב שאני רוצה שיתחלף מה שעל כל קובץ לוקח זמן.
            לכך מי שיכול בבקשה לכתוב לי מאקרו של חיפוש והחלפה לפי עיצוב של גופן אשמח מאוד ובנוסף שאני יוכל לשמור את הגדרת העיצוב באופן קבוע (אפי' אם זה יהיה כמה פקודות מאקרו לכל גופן בשונה) אשמח מאוד
            תודה רבה
            @pcinfogmach

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

            @עולה-במסילה למה שלא תעבוד עם סגנונות?

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

              @עולה-במסילה למה שלא תעבוד עם סגנונות?

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

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

              @עולה-במסילה כתב בבקשה | יצירת מאקרו חיפוש והחלפה לפי עיצוב ולא מילים:

              יש לי המון מסמכים שעיצבתי אותם פעם

              ולעבור על מסמכים ישנים, ולבנות סגנונות וכו', זה הרבה יותר קשה מאשר חיפוש והחלפה או מאקרו.
              אמנם אם הוא באמת רוצה, ניתן ליצור סגנונות, ולהעביר אותם למסמכים אחרים, (ואפשר גם חיצוני [בלי לפתוח קובץ קובץ], אבל רק על DOCX, ולא DOC)...

              תגובה 1 תגובה אחרונה
              1
              • ז זאב לבן

                @עולה-במסילה למה שלא תעבוד עם סגנונות?

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

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

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

                  @עולה-במסילה
                  יצרתי לך - בעזרת AI.
                  מקווה שזה מה שהתכוונת...

                  תמונות בספויילר בסוף

                  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

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

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

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

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

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

                    @עולה-במסילה אתה יכול לסמן קטע - ואז להפעיל את המאקרו - והוא יחליף רק את אותו הקטע

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

                      @עולה-במסילה אתה יכול לסמן קטע - ואז להפעיל את המאקרו - והוא יחליף רק את אותו הקטע

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

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

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

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

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

                        @עולה-במסילה הבנתי - אנסה לשפר את זה.

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

                          @עולה-במסילה הבנתי - אנסה לשפר את זה.

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

                          @עולה-במסילה

                          הנה בכבוד:

                          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

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

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

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

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

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

                            כך זה נראה:
                            c8abf13f-ba1c-4a68-8d02-38c8044bae4b-image.png
                            המשך התהליך זהה למאקרו הקודם

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

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

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

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

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

                              כך זה נראה:
                              c8abf13f-ba1c-4a68-8d02-38c8044bae4b-image.png
                              המשך התהליך זהה למאקרו הקודם

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

                              @יאיר-דניאל תודה רבה אנסה את זה ואענה על כך בהמשך אין מילים...

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

                              • התחברות

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

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