שיתוף | שרשור חיפוש והחלפה בוורד - אילתורים מקצועיים בוורד
-
@pcinfogmach שאלה:
יש לי במסמך שלוש סוגי סוגריים א.() ב. [] ג. (], ואני רוצה למצוא רק את הסוגר(].
הבעיה-כשאני מקליד )*], הוא מוצא לי מהסוגר מהסוג א. עד הסוגר של הסוג ג., האם יש דרך להוראות לו שלא ימצא בין התווים את הסוגריים האחרים? -
@pcinfogmach
דבר ראשון תודה ענקית על היוזמה שלך.
שאלה קטנה שמטרידה אותי זמן רב במקרה שיש לי 'אנטרים' מיותרים לאורך כל המסמך, ואני רוצה מחוק אותם באמצעות 'חפש והחלף'.
כיצד עושים זאת??? -
@poker כתב בשיתוף | שרשור חיפוש והחלפה בוורד - אילתורים מקצועיים בוורד:
@pcinfogmach
דבר ראשון תודה ענקית על היוזמה שלך.
שאלה קטנה שמטרידה אותי זמן רב במקרה שיש לי 'אנטרים' מיותרים לאורך כל המסמך, ואני רוצה מחוק אותם באמצעות 'חפש והחלף'.
כיצד עושים זאת???יש שני אפשרויות:
- חפש את ^p^p, החלף ב ^p, [וצריך לחזור על הפעולה כמה פעמים עד שהכל מסתדר].
- חפש את ^13{2,} [וצריך לסמן השתמש בתווים כלליים], החלף ב ^13, [ובאופן זה הכל מסתדר בפעם אחת].
בנוסף לזה יש לי מאקרו מיוחד שמתקן את זה באופן אוטומטי על כל המסמך, וגם מוחק כל רווח מיותר לפני או אחרי פסקא.
Sub מחיקת_פסקאות_כפולות() ' ' DeletingEmptyParagraphs Macro ' מחיקת פסקאות ריקות ' Selection.Find.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 Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = " {1,}^13" .Replacement.Text = "^13" .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 {1,}" .Replacement.Text = "^13" .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{2,}" .Replacement.Text = "^13" .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 End Sub
-
@beny כתב בשיתוף | שרשור חיפוש והחלפה בוורד - אילתורים מקצועיים בוורד:
@pcinfogmach שאלה:
יש לי במסמך שלוש סוגי סוגריים א.() ב. [] ג. (], ואני רוצה למצוא רק את הסוגר(].
הבעיה-כשאני מקליד )*], הוא מוצא לי מהסוגר מהסוג א. עד הסוגר של הסוג ג., האם יש דרך להוראות לו שלא ימצא בין התווים את הסוגריים האחרים?פתרון:
הכנס קוד זה לתיבת החיפוש:\([!\([]@\]
בהצלחה!
הקוד בנוי מ -
\(
סוגריים עגולות פותחות
[!
החרגה של\(
סוגריים עגולות פותחות, ושל\ [
סוגריים מרובעות פותחות,
]
סוגר החרגה.
@
אחד או יותר מהקודם.
\]
סוגריים מרובעות סוגרות -
-
@pcinfogmach יש לי עוד שאלה [אני עדיין בהאיי מהפתרון הקודם...]
אני רוצה שה"אלף" [וכן ה"בית" בפסקה אח"כ, וכן ע"ז הדרך בשאר האותיות [שים לב שזה יכול להיות ב' אותיות], שנמצאת ליד @08 תגיע בפיסקה הבאה אחרי [אפשר למחוק את @15כי בשאר הפסקאות הוא לא מופיע ואח"כ אחזיר אותו], אפשרי? -
@121244 כתב בשיתוף | שרשור חיפוש והחלפה בוורד - אילתורים מקצועיים בוורד:
מה התו שאני כותב בחיפוש במקום אנטר
@121244
כדי לזהות סוף פיסקה כאשר משתמשים עם תווים כלליים
^13
כדי לזהות תחילת פיסקה
^13? = אות ראשונה בפיסקה
^13*> מילה ראשונה בפיסקה ועייין הערה של @דאנציג למעלה בשרשור -
@מניין כתב בשיתוף | שרשור חיפוש והחלפה בוורד - אילתורים מקצועיים בוורד:
@poker כתב בשיתוף | שרשור חיפוש והחלפה בוורד - אילתורים מקצועיים בוורד:
@pcinfogmach
דבר ראשון תודה ענקית על היוזמה שלך.
שאלה קטנה שמטרידה אותי זמן רב במקרה שיש לי 'אנטרים' מיותרים לאורך כל המסמך, ואני רוצה מחוק אותם באמצעות 'חפש והחלף'.
כיצד עושים זאת???יש שני אפשרויות:
- חפש את ^p^p, החלף ב ^p, [וצריך לחזור על הפעולה כמה פעמים עד שהכל מסתדר].
- חפש את ^13{2,} [וצריך לסמן השתמש בתווים כלליים], החלף ב ^13, [ובאופן זה הכל מסתדר בפעם אחת].
בנוסף לזה יש לי מאקרו מיוחד שמתקן את זה באופן אוטומטי על כל המסמך, וגם מוחק כל רווח מיותר לפני או אחרי פסקא.
Sub מחיקת_פסקאות_כפולות() ' ' DeletingEmptyParagraphs Macro ' מחיקת פסקאות ריקות ' Selection.Find.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 Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = " {1,}^13" .Replacement.Text = "^13" .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 {1,}" .Replacement.Text = "^13" .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{2,}" .Replacement.Text = "^13" .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 End Sub
איך אפשר להוסיף לזה שימחק גם רווח לפני פסיק או נקודה?
שיסיר כל מקום שיש 2 רווחים אחד אחרי השני? -
@mfmf כתב בשיתוף | שרשור חיפוש והחלפה בוורד - אילתורים מקצועיים בוורד:
איך אפשר להוסיף לזה שימחק גם רווח לפני פסיק או נקודה?
שיסיר כל מקום שיש 2 רווחים אחד אחרי השני?יש לי עוד מאקרו ישן שעושה את מה שביקשת, ואולי עוד דברים שאני כבר לא זוכר.
Sub תיקון_שגיאות() ' ' תיקון_שגיאות Macro ' פקודת מאקרו זו מתקנת שגיאות טקסט במסמך בצורה אוטומטית ' ' שאלת פתיחה If MsgBox("מתקן נקודות שלא במקומם, רווחים כפולים, ועוד. האם לתקן שגיאות במסמך ?זה", vbYesNo) = vbYes Then 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 .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 .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 .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 .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = ",(^013)" .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 = "(^013)( )" .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 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 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.Execute Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Execute ' הודעת סיום MsgBox "!תיקון השגיאות הסתיים" & Chr(13) & "" & Chr(13) & "" & Chr(13) & "" & Chr(13) & "מאקרו תיקון שגיאות גרסה 2" & Chr(13) & "", vbMsgBoxRight Selection.Find.Execute Replace:=wdReplaceAll Else End If End Sub
-
@pcinfogmach כתב בשיתוף | שרשור חיפוש והחלפה בוורד - אילתורים מקצועיים בוורד:
לא ברור מספיק מה אתה רוצה לעשות נא לכתוב שלב אחרי שלב ולא לחסוך במילים
אני רוצה שהאות שמסומנת בצהוב [דהיינו שנמצאת בתחילת פיסקת הכותרת הכחולה], תעבור לתחילת הפיסקה הבאה, דהיינו במקום שיתחיל הפיסקה ב-כיוון יתחיל ב-ב., וכן ע"ז הדרך בשאר הפיסקאות.
-
תשובה:
בתיבת החיפוש הקלד:(\@08)(*>. )(*^13)
בתיבת החלף ב: הקלד\1\3\2
הסבר:
בתיבת החיפוש יצרנו שלוש קבוצות על ידי סוגריים ובתיבת ההחלפה החלפנו את סדר הקבוצות כך שקבוצה מס' 2 תוחלף לתחילת הפיסקה הבאהקבוצה 1:
(\@08)
הטקטסט שאנו רוצים להשאיר במקומו. מכיון שהסמל@
משמש כקוד בחיפוש לכן הוספנו לו\
לפניו כדי שהחיפוש ידע שאנו מתכוונים להשתמש איתו כתיו ולא כקוד.
קבוצה 2:(?>. )
?
= אות כלשהי>
= סוף מילה.
= סוף מילה אף פעם לא כולל נקודות כך שצריך להגדיר אותם מפורש. ואחרי זה גם הוספנו רווח.
קבוצה שלוש:(*^13)
*
= 0 תווים או יותר (ללא הגבלה)^13
= סוף פיסקהבתיבת החלף התייחסנו לשלושת הקבוצות על ידי מספרים בתוספת
\
לפניהם וכך החלפנו את הסדר על ידי ששמנו את קבוצה מס' 3 לפני מס' 2 מה שגרם לקבוצה מס' 2 לקפוץ לתחילת הפיסקה הבאה (כי קבוצה מס' שלוש היא סוף פיסקה)בהצלחה.
-
@pcinfogmach כתב בשיתוף | שרשור חיפוש והחלפה בוורד - אילתורים מקצועיים בוורד:
בתיבת החיפוש הקלד: (@08)(?>. )(*^13)
רק צריך להשים לב שכל זה מתאים לאות אחת, כגון א., אבל לשתי אותיות, כגון יא., זה לא מתאים וצריך לעשות עוד חיפוש והחלפה ולכתוב (@08)(??>. )(*^13).
נ.ב. זכור לי שיש משהו כמו {1,2} שאמור לסדר את זה?
-
@beny
משהו כזה אכן יכול לעבוד(\@08)(?{1,2}>. )(*^13)
סוגריים מסוג זה {} עם מספר בתוכם בעצם משמשים כדי לכמת את מספר הפעמים של התיו האחרון שלפניו בחיפוש כך ש ?{2} בעצם אומר תו כלשהו כפול 2.
אז אם נחפש כך נקבל רק את התיו כפול שתיים, אם ברצוננו לקבל גם תוצאה של פעם 1 וגם של כפול 2 נצטרך לכתוב ?{1,2} (הפסיק חשוב כי אחרת זה יהיה 12 ולא 1 ו- 2).במקרה הנ"ל
יותר פשוט יהיה לכתוב
(\@08)(*>. )(*^13)
מאחר שהכוכבית מסמנת תו ללא הגבלה@beny תמשיך עם ההערות המחכימות כולם מחכימים בזכותך