המלצה | מדריך איך ליצור בעצמכם שדה מספר עמודים שפותר את באג שצג.dotx
-
@pcinfogmach כתב בהמלצה | מדריך איך ליצור בעצמכם שדה מספר עמודים שפותר את באג שצג.dotx:
@פלורידה
נפלא!
הערה קטנה: אם תעיין בקוד תראה שלפני כל if ואחריו יש מירכאות - לא באמת צריך את זה (וזה גם מפריע לראות את הקוד שהעלית באופן ויזואלי ה-if נצבע בירוק במקום אדום)
כל מה שצריך הוא: שה-if יהיה בתוך שדה.
הסבר: מירכאות בתוך שדה משמעותם שדה טקסט ולכן אין לנו צורך להשתמש בהם אלא אם כן אנו אומרים לשדה להציג טקסט - להקיף תנאי if עם מירכאות הינו מיותר לחלוטין(זו הסיבה אגב שיש הרבה מירכאות בסוף הקוד בין סוגריים סוגרות כי הם המירכאות הסוגרות של המירכאות שפתחו את ה-if - סתם מפריע ומיותר לחלוטין)
כמו"כ בסוף הקוד
{ PAGE * hebrew1 }
מוקף עם מירכאות מיותר לחלוטין מכיון שהקוד מציג "שדה" ולא טקסטזה בדיוק מה שבאתי להבין.
וכעת סיימתי ניסוי בלי מרכאות ועבד נפלא.
חסכת לי לכתוב את זה כאן. -
@pcinfogmach כתב בהמלצה | מדריך איך ליצור בעצמכם שדה מספר עמודים שפותר את באג שצג.dotx:
(וזה גם מפריע לראות את הקוד שהעלית באופן ויזואלי ה-if נצבע בירוק במקום אדום)
תוקן
-
@פלורידה כתב בהמלצה | מדריך איך ליצור בעצמכם שדה מספר עמודים שפותר את באג שצג.dotx:
וכעת סיימתי ניסוי בלי מרכאות ועבד נפלא.
כעת יש לי "הסכמה" על המדריך תודה
-
-
@pcinfogmach ניסיתי לעשות את הפתרון שלך על שדה מספור אוטומטי (SEQ) משום מה הוא מתחיל מ'י' ועובר ל'כ' למרות שהוא מוגדר על HEBREM 1 כלומר א...י...
להלן הקוד
{ IF { SEQ A } > 1200 "TTT{ {= { SEQ A } -1200 } \* hebrewl \* MERGEFORMAT }" { IF { SEQ A } > 800 "TT{ { = { SEQ A } - 800 } \* hebrewl \* MERGEFORMAT }"{ IF { SEQ A } > 400 "T{ { = { SEQ A } - 400 } \* hebrewl \* MERGEFORMAT }״ { IF { SEQ A } = 400 "T" { IF { SEQ A } > 390 "AM{ {= { SEQ A }-390 }\* hebrewl \* MERGEFORMAT }" { SEQ A \* hebrewl }}}}}}
צירפתי גם בקובץ
מספור רציף מעל שצב.docx
תודה -
@455
לעשות ככה בשדה seq זה יותר מורכב
למה? כי כל פעם שמופיע השדה seq אפילו בתוך תנאי הוא עולה מספר למשל אם השדה מופיע שלוש פעמים בתוך התנאי אז הוא עולה 3 מספרים כל פעם אז צריך לעשות חישובים לחסר את מה שהוא עלה וזה נהיה מורכב מאוד בפרט בגלל שהפער מצטבר והולך.... -
@pcinfogmach תודה
ויש לזה פתרון? כלומר יש אפשרות לעשות מספור רציף מעל שצב? -
@pcinfogmach יש הבדל בין שדה מספור רגיל לשדה מספור הערות שוליים?
כלומר, כוונתי לשאול, איך בתוסף וורד תורני התגברו על הבאג הזה בהערות השוליים? -
@455
בוורד תורני מדובר בקוד vba שמוסיף את המספרים ידנית היכן שצריך ולא בשדה מיספור
לגבי פתרון בזכותך מצאתי את הפתרון! בעבר ניסית ולא הצלחתי עכשיו ניסיתי שוב ובס"ד עלה הדבר בידי.
בעצם צריך להשתמש עם מאפיין מסוג\C
בכל פעם בו מופיע המילה SEQ בתוך השדה שלנו
מאפיין זה אומר לשדה לחזור על המספר הרציף הקודם הקרוב ביותר מבלי להגדיל את המספור.
אני מקווה בהמשך להוסיף הסבר מפורט למדריך מצו"ב לעת עתה תמונה של איך זה אמור להיראות- מסמך עם שדה מוכן עד 400 (חסר מאפייין מספור עברי יתוקן בהמשך בלי נדר)
שים לב לא להשתמש עם חיפוש והחלפה כי כאן השדות מכילות בתוכם את האותיות אנגלית שהתשמשנו בהם וזה ישבש את השדה
לקריאה נוספת על שדה SEQ עיין כאן
https://gregmaxey.com/word_tip_pages/seq_field_numbering.html
יש שם גם תוסף יפה ושימושי עבור זהלקריאה נוספת על מאפיינים של שדות SEQ עיין כאן
https://office-watch.com/2022/words-seq-field-code-all-the-options-and-switches/ -
-
@pcinfogmach דבר ראשון תודה רבה.
מצורף במספור עברי
seq-מעל-שצב.docx -
@pcinfogmach
הנה
seq-עד-תתשצב-בלשון-נקיה.docxעזרת לי מאוד. שכוייח!
עכשיו אני מחפש אפשרות ליצור סימניה באופן אוטומטי בכל שדה כזה, כדי שניתן יהיה להפנות לזה בהפניה מקושרת, בקישורים שהבאת היה נראה שיש כזו אפשרות, אבל בפועל לא הצלחתי לראות איך עושים את זה
-
@דאנציג
בוורד תורני - זה יוצר לבד את השדה.
מישהו כתב לזה מאקרו פעם, וכנראה הכניסו לשם.המאקרו שפותר את באג שצג קצת בעייתי לזה.
להבנתי הבעיה היא, שגם במאקרו וגם בקוד מירכאות מגדירים טקסט, ובקוד שדה של באג שצג, היות ובשביל האותיות מוכרחים להניח מירכאות, יוצא שהמירכאות הללו הם חלק מטקסט ההחלפה, וזה יוצר התנגשות בין המאקרו לקוד השדה, כי לא ניתן לרשום למאקרו 'מירכאות' כטקסט.בהנחה שההבנה שלי נכונה, מקווה שהצלחתי להסביר.
-
אתה צודק ולא צודק את הצודק שזה בעיה אתה לא צודק שאין לזה פתרון
בכל אופן צריך לערוך את הקוד מאקרו הנ"ל ואין איש שייקח את זה על עצמו
הקוד לא עובד על בסיס חיפוש והחלפה רגילים אלא עושה לולאה של חיפוש אחד אחד
להלן השלבים של הקוד מאקרו- שומר את השדה בתוך אבני בניין של וורד
- מחפש את הבא
- מזין את השדה מתוך אבני הבניין במקום הטקסט שנמצא
- מחפש את הבא
- מזין את השדה כנ"ל
- וחוזר חלילה עד סוף המסמך.
לעניות דעתי מי שמבין קצת במאקרו יוכל די בקלות להתאים אותו למה שדובר פה סה"כ צריך להזין את השדה הנכון
אגב היוזר פורם בעיצוב תורני (ובוורד תורני) משתמש בגלרייה אישית מספר שלוש כך שאם מישהו יכין לעצמו שדה וישמור אותו בגלרייה זו ייתכן מאוד שיופיע גם בתוסף.מקווה שהובנתי
אגב @455 נראה שאינך מודע לכך אבל עיצוב תורני ו-וורד תורני הנם שני גרסאות של אותו התוסף עם שינויים קלים.
-
@pcinfogmach לא הצלחתי לעשות את כל השלבים של הקוד
אבל עזרת לי מאודכי הכנסתי את זה באופן ידני לאבני בנין, וביקשתי מרובי [הבוט] שיכין לי קוד להחלפה עם אבן הבנין הרלוונטית
ובאמת הוחלפו לי כל המקומות המסומנים בקובץ למספור עברי ובלשון נקיה בעקיפה על באג שצג.יישר כחך.
נ.ב. מצורף קוד המאקרו של רובי, עם שינויים קלים ומזעריים, רק הוספתי בתוכו הודעה נחוצה, שלא כדאי להשתמש עם זה כאשר יש כבר מספור מזרם A בקובץ.
Sub החלפת_סימון_למספור_רציף() MsgBox "שים לב! המאקרו מחליף את כל הסימונים במסמך לרצף מספור אוטומטי עברי מזרם A. אם כבר יש לך מספור מזרם זה במסמך, דאג להחליף אותו לזרם אחר, בכדי למנוע התערבות זרמי מספור" Dim rng As Range Dim doc As Document Dim storyRange As Range Set doc = ActiveDocument For Each storyRange In doc.StoryRanges Set rng = storyRange With rng.Find .ClearFormatting .Text = InputBox("הזן סימן להחלפה:") .Forward = True .Wrap = wdFindContinue .Format = False .MatchWildcards = False Do While .Execute Application.Templates("C:\Users\user\AppData\Roaming\Microsoft\Templates\Normal.dotm").BuildingBlockEntries("מספור רציף עד תתשצב").Insert Where:=rng, RichText:=True rng.Collapse wdCollapseEnd Loop End With Next storyRange End Sub