בעיה | רווח מיתר בין אותיות
-
@u88 כתב בבעיה | רווח מיתר בין אותיות:
אשמח אם יש פקודת מאקרו למישהוא
ואיך הוא יעבוד?
הוא לכאורה ימחק את הרווחים הנצרכים...ויעשה - יוםטוב...
@יוסף-אלחנן זה בדרך כלל נמצא בתור כותרת
אולי יש אפשרות לשעושת את זה בתוך סוגריים ורק מה שבתוכם זה יסיר את המרווח -
@יוסף-אלחנן זה בדרך כלל נמצא בתור כותרת
אולי יש אפשרות לשעושת את זה בתוך סוגריים ורק מה שבתוכם זה יסיר את המרווח -
אני לא מבין מה אתה רקוצה שיעשו אפשר לעשות מקרו שימחק את כל התוים של רוח אבל אין מה שיסביר למקרו אופו אתה צריך רווח ואיפו לא (יכול להיות שאפשר גם לעשות שהוא ימחוק את כל הרווחים בכותרות אבל גם שם את הכל וגםביןמיליםככה)
אלא אם מי שעשה לא עשה רווך בין המילים אלא רווח בין האותיות ואז זה רק לשנות את זה ברווח בין אותיות -
אני לא מבין מה אתה רקוצה שיעשו אפשר לעשות מקרו שימחק את כל התוים של רוח אבל אין מה שיסביר למקרו אופו אתה צריך רווח ואיפו לא (יכול להיות שאפשר גם לעשות שהוא ימחוק את כל הרווחים בכותרות אבל גם שם את הכל וגםביןמיליםככה)
אלא אם מי שעשה לא עשה רווך בין המילים אלא רווח בין האותיות ואז זה רק לשנות את זה ברווח בין אותיות@דוד-משה-1
אולי יש משהו עם מילון?כאילו, איזה סקריפט שמתקן טקסט ויש לו לקסיקון...
-
@דוד-משה-1
אולי יש משהו עם מילון?כאילו, איזה סקריפט שמתקן טקסט ויש לו לקסיקון...
@יוסף-אלחנן כתב בבעיה | רווח מיתר בין אותיות:
אולי יש משהו עם מילון?
כאילו, איזה סקריפט שמתקן טקסט ויש לו לקסיקון...
קשה לי להאמין
גם אם כן כל מילה שהוא לא מכיר.... -
@יוסף-אלחנן כתב בבעיה | רווח מיתר בין אותיות:
אולי יש משהו עם מילון?
כאילו, איזה סקריפט שמתקן טקסט ויש לו לקסיקון...
קשה לי להאמין
גם אם כן כל מילה שהוא לא מכיר....@דוד-משה-1
בסדר אז יהיה לו עבודה אחר כך...בכל מקרה, יהיה לו עבודה ליצור רווח חדש לבין המילים.
איך קראת לזה?! איפו?וזה פחות עבודה ולמחוק את הרווח מבין כל אות ותו...
אני רק חושב על ההוא שכתב את זה ככה, כמה קשה הוא עבד...
-
@דוד-משה-1
בסדר אז יהיה לו עבודה אחר כך...בכל מקרה, יהיה לו עבודה ליצור רווח חדש לבין המילים.
איך קראת לזה?! איפו?וזה פחות עבודה ולמחוק את הרווח מבין כל אות ותו...
אני רק חושב על ההוא שכתב את זה ככה, כמה קשה הוא עבד...
@יוסף-אלחנן כתב בבעיה | רווח מיתר בין אותיות:
כמה קשה הוא עבד...
אם הוא הבין בוורד יכול להיות שהוא עשה את זה אם פקודת מקרו
-
@יוסף-אלחנן כתב בבעיה | רווח מיתר בין אותיות:
כמה קשה הוא עבד...
אם הוא הבין בוורד יכול להיות שהוא עשה את זה אם פקודת מקרו
@דוד-משה-1 כתב בבעיה | רווח מיתר בין אותיות:
אם הוא הבין בוורד יכול להיות שהוא עשה את זה אם פקודת מקרו
הוא עדיין היה צריך לכתוב
יוםטוב
שזה עדיין עבודה קשה...
תנסה...
-
@יוסף-אלחנן זה בדרך כלל נמצא בתור כותרת
אולי יש אפשרות לשעושת את זה בתוך סוגריים ורק מה שבתוכם זה יסיר את המרווח@u88 אם אתה רוצה לעשות את מה ש @דוד-משה-1 הציע
@דוד-משה-1 כתב בבעיה | רווח מיתר בין אותיות:
אני לא מבין מה אתה רקוצה שיעשו אפשר לעשות מקרו שימחק את כל התוים של רוח אבל אין מה שיסביר למקרו אופו אתה צריך רווח ואיפו לא (יכול להיות שאפשר גם לעשות שהוא ימחוק את כל הרווחים בכותרות אבל גם שם את הכל וגםביןמיליםככה)
אז יש לך כאן קוד מאקרו לזה
Sub RemoveExtraSpacesBetweenLetters() Dim rng As Range Dim txt As String Dim newText As String Dim i As Long Set rng = Selection.Range txt = rng.Text newText = "" For i = 1 To Len(txt) If Mid(txt, i, 1) Like "[!א-ת]" Then newText = newText & Mid(txt, i, 1) If i < Len(txt) And Mid(txt, i + 1, 1) = " " Then i = i + 1 End If Else newText = newText & Mid(txt, i, 1) End If Next i rng.Text = newText End Sub
אתה יודע איך להפעיל את זה, כן?
-
@u88 אם אתה רוצה לעשות את מה ש @דוד-משה-1 הציע
@דוד-משה-1 כתב בבעיה | רווח מיתר בין אותיות:
אני לא מבין מה אתה רקוצה שיעשו אפשר לעשות מקרו שימחק את כל התוים של רוח אבל אין מה שיסביר למקרו אופו אתה צריך רווח ואיפו לא (יכול להיות שאפשר גם לעשות שהוא ימחוק את כל הרווחים בכותרות אבל גם שם את הכל וגםביןמיליםככה)
אז יש לך כאן קוד מאקרו לזה
Sub RemoveExtraSpacesBetweenLetters() Dim rng As Range Dim txt As String Dim newText As String Dim i As Long Set rng = Selection.Range txt = rng.Text newText = "" For i = 1 To Len(txt) If Mid(txt, i, 1) Like "[!א-ת]" Then newText = newText & Mid(txt, i, 1) If i < Len(txt) And Mid(txt, i + 1, 1) = " " Then i = i + 1 End If Else newText = newText & Mid(txt, i, 1) End If Next i rng.Text = newText End Sub
אתה יודע איך להפעיל את זה, כן?
@יוסף-אלחנן אולי אפשר שיחפש תו אחד ואחריו רווח וכו' אבל אם יש 2 תווים ואחריהם רווח לא
-
@יוסף-אלחנן אולי אפשר שיחפש תו אחד ואחריו רווח וכו' אבל אם יש 2 תווים ואחריהם רווח לא
-
@u88 מה הכוונה?
למה שיהיה שני תווים ואחר כך רווח?אמרת למעלה שהכל זה תו - רווח - תו - רווח...
או שזה כתוב:
י ו ם ט ו ב
ולא
י ו ם ט ו ב
@יוסף-אלחנן כתב בבעיה | רווח מיתר בין אותיות:
@u88 מה הכוונה?
למה שיהיה שני תווים ואחר כך רווח?אמרת למעלה שהכל זה תו - רווח - תו - רווח...
או שזה כתוב:
י ו ם ט ו ב
לכן אם כתוב
י ו ם ט ו ב
אפשר לעשות חפש תו בודד שיש לפניו ואחריו רווח
-
@יוסף-אלחנן כתב בבעיה | רווח מיתר בין אותיות:
@u88 מה הכוונה?
למה שיהיה שני תווים ואחר כך רווח?אמרת למעלה שהכל זה תו - רווח - תו - רווח...
או שזה כתוב:
י ו ם ט ו ב
לכן אם כתוב
י ו ם ט ו ב
אפשר לעשות חפש תו בודד שיש לפניו ואחריו רווח
-
@u88 ומה אני אמרתי?
-
-
@u88 אתה מצוטט אותי...
אני התכוונתי שאם הטקסט שלך הוא
י ו ם ט ו ב
אז אין (לי) איך לעזור לך...
אבל אם הטקסט הוא
י ו ם ט ו ב
אז אפשר לעשות שיבדוק האם יש רווח לפני הרווח...
כלומר, שיבדוק האם בין שני אותיות יש רק רווח אחד, אז הרווח ההוא מיותר, והקוד יריץ מחיקה, אבל אם יש רצף של שניים או שלוש רווחים (בהנחה והטקסט הוא
)
י ו ם ט ו ב
אז הקוד ישאיר רווח בודד...
-
@u88 אתה מצוטט אותי...
אני התכוונתי שאם הטקסט שלך הוא
י ו ם ט ו ב
אז אין (לי) איך לעזור לך...
אבל אם הטקסט הוא
י ו ם ט ו ב
אז אפשר לעשות שיבדוק האם יש רווח לפני הרווח...
כלומר, שיבדוק האם בין שני אותיות יש רק רווח אחד, אז הרווח ההוא מיותר, והקוד יריץ מחיקה, אבל אם יש רצף של שניים או שלוש רווחים (בהנחה והטקסט הוא
)
י ו ם ט ו ב
אז הקוד ישאיר רווח בודד...
@יוסף-אלחנן בדיוק כמו השני
-
@יוסף-אלחנן בדיוק כמו השני
-
@u88 כלומר?
י ו ם ט ו ב
@יוסף-אלחנן אמרת שבאפשרות הזאת יש לך מה לעשות
-
@יוסף-אלחנן אמרת שבאפשרות הזאת יש לך מה לעשות
@u88
אז בוא נראה מה יש לנו...יש קוד מאקרו אחד שבו הוא מזהה רווחים בודדים (כמו שכתבת לעייל, שיש לפניהם ולאחריהם אותיות)
ומוחק אותם!Sub DeleteSingleSpacesLeaveDoubleSpaces() Dim doc As Document Set doc = ActiveDocument Dim rng As Range For Each rng In doc.StoryRanges Do ' Find single spaces rng.Find.ClearFormatting rng.Find.Text = " " rng.Find.Replacement.Text = "" rng.Find.Forward = True rng.Find.Wrap = wdFindStop rng.Find.MatchWildcards = False If rng.Find.Execute Then ' Check if the next character is also a space If rng.Characters.Last.Next.Text = " " Then ' Move past the found space and continue searching rng.MoveStartUntil Cset:=" ", Count:=wdForward Else ' Replace the single space with an empty string rng.Text = Replace(rng.Text, " ", "") End If Else Exit Do End If Loop While rng.Find.Found ' Move to the next story range Set rng = rng.NextStoryRange Next rng ' Restore the selection to the end of the document doc.Range(doc.Content.End - 1, doc.Content.End).Select End Sub
ולאחר מכן אנו מריצים עוד קוד שיזהה רווחים כפולים (כפי שאמרת שיש),
ומוחק אותם ומותיר מהם רק רווח אחד.Sub NormalizeDoubleSpaces() Dim rng As Range Set rng = ActiveDocument.Range ' Replace multiple spaces with single space Do While InStr(rng.Text, " ") > 0 rng.Text = Replace(rng.Text, " ", " ") Loop ' Restore the selection to the end of the document rng.Collapse wdCollapseEnd rng.Select End Sub
בהצלחה!
תעדכן!