שאלה | מחפש דרך יעילה להרצת "חיפוש והחלפה" של רשימת מילים קבועה
-
אני משתמש קבוע באתר "אלף בוט" לצורך תמלול של הקלטות. הכלי עצמו מעולה, אבל יש לי איתו בעיה קבועה שמבזבזת לי המון זמן:
אחרי כל תמלול, אני מוצא את עצמי עושה ידנית לפחות 20-30 פעולות של "חיפוש והחלפה" בקובץ שהתקבל.מדובר על מילים וביטויים קבועים שחוזרים על עצמם ואני צריך להמיר לראשי תיבות או לקיצורים (לדוגמה: להפוך "עיין שם" ל-"עיי"ש", "רבי עקיבא איגר" ל-"רע"א", "תוספות" ל-"תוס'" וכדומה).
זה פשוט מייבש ומתיש לעשות את התהליך הזה מחדש אחד-אחד בכל פעם שאני מסיים לתמלל קובץ.
רציתי לשאול אם יש פתרון, תוסף, או כלי כלשהו שיכול לעזור במצב כזה?
השאיפה היא להכין רשימה קבועה מראש של מילים להחלפה, ושהמערכת תריץ את כל ההחלפות האלו ביחד באופן אוטומטי בלחיצת כפתור אחת.אשמח מאוד לרעיונות או לכל כיוון שיכול לחסוך לי את העבודה הסיזיפית הזו.
-
-
-
י ישיבישער סימן נושא זה כשאלה
-
י ישיבישער סימן נושא זה כנפתר
-
@ישיבישער אני רואה שכבר הסתדרת...
בכל מקרה, מצורף מאקרו נוח שהכנתי בעבר עבור החלפות מרובות, כעת שיפרתי אותו בסיוע AI.
ניתן לערוך שם את ההחלפות ולהוסיף נוספות.Sub החלפת_מילים_רבות() Application.ScreenUpdating = False ' ========================================================================= ' שורות ההחלפה - ניתן לערוך בקלות ' ========================================================================= החלף "סברה", "סברא" '1 החלף "על ליבא", "אליבא" '2 החלף "רב חיים", "ר' חיים" '3 החלף "קושיה", "קושיא" '4 החלף "גבנה", "גבנא" '5 החלף "כאימא", "קיימא" '6 החלף "קיימלון", "קיימא לן" '7 החלף "הכול פנים", "על כל פנים" '8 החלף "מלכס", "מלקות" '9 החלף "פסיחה", "פתיחה" '10 ' ========================================================================= Application.ScreenUpdating = True MsgBox "תהליך ההחלפות הסתיים בהצלחה!", vbInformation, "אנה - עוזרת פיתוח" End Sub Sub החלף(ByVal txtFind As String, ByVal txtReplace As String) 'פונקציית עזר Dim rng As Range Set rng = ActiveDocument.Content With rng.Find .ClearFormatting .Replacement.ClearFormatting .Text = txtFind .Replacement.Text = txtReplace .Wrap = wdFindContinue .Execute Replace:=wdReplaceAll End With End Sub -
@ישיבישער אני רואה שכבר הסתדרת...
בכל מקרה, מצורף מאקרו נוח שהכנתי בעבר עבור החלפות מרובות, כעת שיפרתי אותו בסיוע AI.
ניתן לערוך שם את ההחלפות ולהוסיף נוספות.Sub החלפת_מילים_רבות() Application.ScreenUpdating = False ' ========================================================================= ' שורות ההחלפה - ניתן לערוך בקלות ' ========================================================================= החלף "סברה", "סברא" '1 החלף "על ליבא", "אליבא" '2 החלף "רב חיים", "ר' חיים" '3 החלף "קושיה", "קושיא" '4 החלף "גבנה", "גבנא" '5 החלף "כאימא", "קיימא" '6 החלף "קיימלון", "קיימא לן" '7 החלף "הכול פנים", "על כל פנים" '8 החלף "מלכס", "מלקות" '9 החלף "פסיחה", "פתיחה" '10 ' ========================================================================= Application.ScreenUpdating = True MsgBox "תהליך ההחלפות הסתיים בהצלחה!", vbInformation, "אנה - עוזרת פיתוח" End Sub Sub החלף(ByVal txtFind As String, ByVal txtReplace As String) 'פונקציית עזר Dim rng As Range Set rng = ActiveDocument.Content With rng.Find .ClearFormatting .Replacement.ClearFormatting .Text = txtFind .Replacement.Text = txtReplace .Wrap = wdFindContinue .Execute Replace:=wdReplaceAll End With End Sub -
בכל מקרה, מצורף מאקרו נוח שהכנתי בעבר עבור החלפות מרובות
קודם כל ממש תודה ענקית, אבל אני אשמח אם תוכל לתת כאן הסבר קצת איך הופכים קוד לפקודת מאקרו שאוכל להשתמש בה ע"י לחצן או קיצור מקשים. (אני בד"כ עושה בהקלטה לא בקוד).
@ישיבישער אם אני רוצה להוסיף בפקודת מאקרו דברים בודדים אני עושה כך:
כתבתי לדוגמא 3 פקודות מאקרו להחלפה עם רווח בין כל החלפה, תסמן א' מהם ותעתיק אותו באחד הרווחים. שם תכתוב מה שאתה צריך במקום למשל 5 תכתוב - 8 ובמקום הנהגה - חומש
חשוב להדגיש שטעות אחת משבשת את כל הפקודות! כדאי לשמור בתור קובץ TXT את כל המאקרואים. בהוספת פקודות בדר"כ לא אמור להיות בעיה.
With Selection.Find
.Text = "5"
.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:=wdReplaceAllWith Selection.Find
.Text = "4"
.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:=wdReplaceAllWith Selection.Find
.Text = "6"
.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
-
@ישיבישער אם אני רוצה להוסיף בפקודת מאקרו דברים בודדים אני עושה כך:
כתבתי לדוגמא 3 פקודות מאקרו להחלפה עם רווח בין כל החלפה, תסמן א' מהם ותעתיק אותו באחד הרווחים. שם תכתוב מה שאתה צריך במקום למשל 5 תכתוב - 8 ובמקום הנהגה - חומש
חשוב להדגיש שטעות אחת משבשת את כל הפקודות! כדאי לשמור בתור קובץ TXT את כל המאקרואים. בהוספת פקודות בדר"כ לא אמור להיות בעיה.
With Selection.Find
.Text = "5"
.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:=wdReplaceAllWith Selection.Find
.Text = "4"
.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:=wdReplaceAllWith Selection.Find
.Text = "6"
.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
@אברהם-0 כתב:
אם אני רוצה להוסיף בפקודת מאקרו דברים בודדים אני עושה כך...
תודה על המענה, אבל נראה לי שלא כל כך הובנתי.
הקושי שלי הוא לא איך לערוך את שורות הקוד עצמן , אלא השלב הטכני שלפני: איך אני בכלל מכניס קוד מוכן לתוך וורד ללא הקלטה?
עד היום כל המאקרואים שלי נוצרו אך ורק דרך לחצן "הקלטת מאקרו" של וורד.
אין לי מושג:- איפה פותחים את עורך הקוד כדי להדביק את הקוד ש-@I-believe הביא לי?
- איפה צריך להדביק אותו כדי שוורד יזהה אותו?
- ואיך בסוף התהליך אני הופך את המאקרו הזה ללחצן נגיש בסרגל הכלים המהיר או משייך לו קיצור מקשים?
אשמח מאוד להסבר בענין, תודה מראש.
-
@אברהם-0 כתב:
אם אני רוצה להוסיף בפקודת מאקרו דברים בודדים אני עושה כך...
תודה על המענה, אבל נראה לי שלא כל כך הובנתי.
הקושי שלי הוא לא איך לערוך את שורות הקוד עצמן , אלא השלב הטכני שלפני: איך אני בכלל מכניס קוד מוכן לתוך וורד ללא הקלטה?
עד היום כל המאקרואים שלי נוצרו אך ורק דרך לחצן "הקלטת מאקרו" של וורד.
אין לי מושג:- איפה פותחים את עורך הקוד כדי להדביק את הקוד ש-@I-believe הביא לי?
- איפה צריך להדביק אותו כדי שוורד יזהה אותו?
- ואיך בסוף התהליך אני הופך את המאקרו הזה ללחצן נגיש בסרגל הכלים המהיר או משייך לו קיצור מקשים?
אשמח מאוד להסבר בענין, תודה מראש.
-
ישיבישער כתב:
איך עושים, מה ואיפה עושים,
אחי, להגיד לי "תלחץ ALT + F11" זה כמו להגיד למישהו שלא יודע לנהוג "פשוט תלחץ על הגז".
זה לא מספיק, כי גם אם אני לוחץ על הקיצור ונפתח לי חלון הקוד:
אני לא יודע איפה בדיוק להדביק את הקוד בתוך עץ התיקיות שם (באיזה "מודול" או קובץ תבנית) כדי שזה יעבוד בכל קובץ וורד שאפתח.
אני לא יודע איך לקשר את הקוד הזה לכפתור בסרגל הכלים או למקש קיצור במקלדת (בהקלטה רגילה וורד עושה את הקישור הזה לבד, בקוד מוכן צריך להגדיר את זה ידנית).
בגלל זה אמרתי שאם למישהו יש סבלנות לכתוב הסבר קצר שלב-אחר-שלב של כל התהליך (איפה להדביק ואיך ליצור כפתור), זה יעזור לי מאוד.
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות