בקשת מידע | איך מוסיפים מספר לכל הספרות שנמצאות בקובץ וורד?
-
@menajemmendel
אדרבה, תוכל להנחות אותי על גבי במה מכובדת זו [זה גם לטובת כולם]
מה למחוק כדי שלא יהיה 2 לולאות..... [זה מ- GPT]? -
@אלף-שין כתב בבקשת מידע | איך מוסיפים מספר לכל הספרות שנמצאות בקובץ וורד?:
הבעיה היא שלאחר העדכון של המספר הוא מוחק את הרווח שבינו לבין המילה הבאה משום מה,
אם רק זה הבעיה תחפש את כל המספרים - תשנה עיצוב ותוסיף רווח אחרי כן,
חפש: ^# (ספרה כל שהיא) שנה עיצוב, אחר כך תעשה לעיצוב הזה החלף בלי שינוי (^&) + רווח. -
@אלף-שין כתב בבקשת מידע | איך מוסיפים מספר לכל הספרות שנמצאות בקובץ וורד?:
@menajemmendel
אדרבה, תוכל להנחות אותי על גבי במה מכובדת זו [זה גם לטובת כולם]
מה למחוק כדי שלא יהיה 2 לולאות..... [זה מ- GPT]?אין בעיה שיעשה שתי לולאות, רק לא הבנתי מה הענין, אפשר פשוט, לעשות לולאה ישר על כל המילים (אסביר את כוונתי, הקוד שלך אומר:
- קח את המסמך, תחלק אותו לפסקאות,
- לך לכל פיסקה בתוך המסמך.
- משם תכנס לכל מילה ותבדוק, אם היא מספר אז תוסיף לו 1, וכן הלאה עד שתגמור את כל המילים שפיסקה, ואז תעבור לפיסקה הבא ותעשה אותו דבר. וכו'.
ואני אומר אם בכל אופן אתה עובר על כל המילים, אז מה עניין הפסקאות כאן, אפשר ישר את המספר 3:
הקוד כזה:Sub IncrementNumbers() Dim doc As Document Set doc = ActiveDocument Dim word As Range For Each word doc.Range.Words If IsNumeric(word.Text) Then word.Text = word.Text + 1 End If Next word End Sub
אבל זה באמת אין נפק''מ,
-
@menajemmendel
הקוד שלך לא עובד יש בו שגיאה,
לא יודע למה אבל זה המציאות!
אולי תוכל לבדוק זאת? -
@אלכסון כתב בבקשת מידע | איך מוסיפים מספר לכל הספרות שנמצאות בקובץ וורד?:
אם רק זה הבעיה תחפש את כל המספרים - תשנה עיצוב ותוסיף רווח אחרי כן,
חפש: ^# (ספרה כל שהיא) שנה עיצוב, אחר כך תעשה לעיצוב הזה החלף בלי שינוי (^&) + רווח.אשמח להוראות יותר ברורות, כי נתקעתי עם זה,
אציין שיש לקחת בחשבון גם מספרים דו ספרתיים. -
@אלף-שין סליחה טעיתי שכחתי למחוק מילת RANGE (הרי WORDS, הוא עצמו כבר RANGE)
Sub IncrementNumbers() Dim doc As Document Set doc = ActiveDocument Dim word As Range For Each word In doc.Words If IsNumeric(word.text) Then word.text = word.text + 1 End If Next word End Sub
הקוד הזה הוא עושה אותו בדיוק כמו של GPT רק בלי לולאה מיותרת.
ומ''מ הקוד הזה (וכן מה שהבאת מGPT) יש לו כמה בעיות, מלבד הבעיה שאתה כתבת, יש בעיה אחרת יותר חמורה, והיא שלפעמים נכנס ללולאה אין סופית, אם כתוב נקודה או פסיק או כל מיני תוים אחרים מיד אחרי המספר. -
@אלף-שין אני שמח לשמוע, רק אם אתה עושה מזה מאקרו - אל תתדגיש את המספרים אלא תעשה עיצוב שאתה בטוח שאין לך בקובץ, או שתוסיף אח"כ שלב של מחיקת רווחים כפולים. כי עכשיו אם יש לך משהו מודגש כבר (שהוא לא מספר) החיפוש יתפוס אותו ויוסיף רווח (מיותר) אחריו.
-
להלן פקודת המאקרו המלאה והטובה
[פקודה שמוסיפה ערך 1 לכל הספרות במסמך ללא תקלות!]
לא יאמן שצריך כזה פקודה ארוכה בשביל דבר כה פשוט!Sub CombinedMacros() Dim doc As Document Set doc = ActiveDocument Dim word As Range 'Increment Numbers For Each word In doc.Words If IsNumeric(word.Text) Then word.Text = word.Text + 1 End If Next word ' Original code for Macro1 Selection.WholeStory ' Additional code from the second macro Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Color = wdColorRed With Selection.Find .Text = "^#" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .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.ClearFormatting Selection.Find.Font.Color = wdColorRed Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^#" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.ClearFormatting Selection.Find.Font.Color = wdColorRed Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "" .Replacement.Text = "^&^s" .Forward = True .Wrap = wdFindContinue .Format = True .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.Font.Color = wdBlack Selection.MoveStart unit:=wdStory Selection.HomeKey wdStory ' This line moves the cursor to the beginning of the document End Sub
@pcinfogmach תוכל להוסיף את זה לשרשור הרלוונטי?
-
@אלף-שין כתב בבקשת מידע | איך מוסיפים מספר לכל הספרות שנמצאות בקובץ וורד?:
לא יאמן שצריך כזה פקודה ארוכה בשביל דבר כה פשוט!
באמת לא צריך פקודה כ''כ ארוכה, אפשר הרבה יותר קצר, ''עבודת נמלים בוורד" היה עושה את זה כך: [ואפשר עוד לקצר אותה יותר]:
Sub Macro2() With Selection.Find .ClearFormatting .text = "[0-9]{1,}" .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 .Execute End With Do While Selection.Find.Found = True Selection.text = Selection.text + 1 Selection.Collapse wdCollapseEnd Selection.Find.Execute DoEvents Loop End Sub
כמו כן אפשר לעשות קוד אחר, אבל אני ממליץ יותר על הראשון (מנופה מכל מיני חששות, השני יעבוד טוב בדרך כלל, אבל מידי פעם עלול להיות הפתעות):
Sub IncrementNumbers() Dim i As Integer Dim w As Range For i = ActiveDocument.Words.Count To 1 Step -1 Set w = ActiveDocument.Words(i) If IsNumeric(w) Then If Right(w, 1) = " " Then w.End = w.End - 1 End If w.text = w.text + 1 End If Next i End Sub
באדיבות ''עבודת נמלים בוורד'' הבית שלך לאוטומציה במסמכים
-
@menajemmendel כתב בבקשת מידע | איך מוסיפים מספר לכל הספרות שנמצאות בקובץ וורד?:
באדיבות ''עבודת נמלים בוורד'' הבית שלך לאוטומציה במסמכים
תודה על כל העזרה!
אסמן כנפתר!
אגב אם הבנתי נכון באתר הזה נראה שזה לא תוכנה לרכישה אלא עבודת עימוד?. -
@אלף-שין כתב בבקשת מידע | איך מוסיפים מספר לכל הספרות שנמצאות בקובץ וורד?:
@menajemmendel כתב בבקשת מידע | איך מוסיפים מספר לכל הספרות שנמצאות בקובץ וורד?:
באדיבות ''עבודת נמלים בוורד'' הבית שלך לאוטומציה במסמכים
תודה על כל העזרה!
אסמן כנפתר!
אגב אם הבנתי נכון באתר הזה נראה שזה לא תוכנה לרכישה אלא עבודת עימוד?.יש שתי שירותים נפרדים שאין קשר בין אחד לשני:
- שירותי עימוד ספרים למי שרוצה. (וזה עימוד ''מאיר עיני חכמים'' כמו שאתה רואה בפרופיל שלי).
- בנוסף (בלי קשר לעימוד) למיקרים כאלה שאנשים צריכים עבודות שחוזורת על עצמם הרבה וכוד', שלעשות אותם באופן ידני לוקח מלא מלא זמן, אז יש את השירות של ''עבודת נמלים בוורד'' שיעשה עבורך את העבודה הנצרכת, ויחזיר לך מסמך מתוקן (כמובן אם לא הצלחתי לעשות את מה שרצית אין צורך לשלם כלום, ברור).
-
-