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

    שלום וברכה יש לי המון מסמכים שעיצבתי אותם פעם בגופנים מסוימים ואני מעוניין להחליף את הגופנים הקיימים בגופנים אחרים, אבל הענין הוא שכל פעם אני צריך להגדיר מחדש את העיצוב שברצוני להחליף ואת העיצוב שאני רוצה שיתחלף מה שעל כל קובץ לוקח זמן.
    לכך מי שיכול בבקשה לכתוב לי מאקרו של חיפוש והחלפה לפי עיצוב של גופן אשמח מאוד ובנוסף שאני יוכל לשמור את הגדרת העיצוב באופן קבוע (אפי' אם זה יהיה כמה פקודות מאקרו לכל גופן בשונה) אשמח מאוד
    תודה רבה
    @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
                          • חוקי הפורום
                          • פופולרי
                          • לא נפתר
                          • משתמשים
                          • חיפוש גוגל בפורום
                          • צור קשר