תוסף לתוסף של מכון כתר תורה להמרת קובץ עם הערות שוליים מוורד למלל כפי שהזכרנו מכון כתר תורה פתחו תוסף שמייצא קבצי רב טקסט מתוכנת וורד לתוכנת מלל. למרות שתוכנת וורד לא תומכת בכמה זרמי הערות - רב טקסט, אך מלל תומכת בכך. והבעיה מתחילה כשמעוניינים לכתוב מסמך בוורד ולהעביר אותו לאחר מכן למלל. ולכן במכון כתר תורה חשבו על הבעיה, ופיתחו תוסף המאפשר למשתמש לכתוב בצורה ידנית בתחילת כל הערה בוורד לאיזה זרם הוא שייך, ולאחר מכן בהמרת המסמך למלל, כל הערה תהיה ממוקמת באופן אוטומטי בזרם שהיא שייכת לשם. הפורמט שצריך לכתוב את המספר של הזרם הוא @01# (שטרודל, מספר בפורמט של שני ספרות, סולמית). הבעיה שנשארה להשלים כרגע בפיתוח הזה הוא, שלפעמים אחרי שמעבירים למלל מעוניינים להחזיר את המסמך לוורד ולהשתמש בסביבת העבודה של וורד, ולאחר מכן להחזירו בחזרה למלל. הבעיה שתוכנת מלל ברגע שהיא מייצאת קבצים לטקסט היא שומרת כל זרם במקום נפרד במסמך, אחד על גבי השני, אבל לא בפורמט הזה, והתוסף של מכון כתר תורה להמרת וורד למלל משתמש בפורמט מאוד מסויים. אז איך נוכל לייצא ממלל לוורד מסמך של רב טקסט בצורה שיהיה אפשר להחזירו אחר כך למלל בצורתו המקורית של הרב טקסט, בהיררכיה הנכונה, כל הערה בזרם הנכון שלה? וזה נכון שיש למכון כתר תורה תוסף לחיבור מסמך מפורק בין הערות, אבל גם אם נשתמש בה, כיצד נוכל אחר כך להחזיר את התוסף למלל עם ההיררכיה הנכונה של ההערות? הרי אנחנו לא רוצים זרם אחד בלבד של הערות שוליים כמו בוורד, אלא לשמור על כל זרם במקום שלו, במצב של כמה זרמים כמו במלל! זה מה שהתוסף הזה בא לפתור! אז לסיכום: למי התוסף דלהלן מיועד? התוסף מיועד למי שמייצא קובץ של *רב טקסט* ממלל ורוצה לעבוד עליו בוורד ואחר כך להחזיר אותו למלל. אלו תוכנות נצרכות לשימוש בקוד זה? כמובן שצריך וורד ומלל. אך מלבד זאת התוסף מיועד למי שכבר משתמש בתוסף השני של מכון כתר תורה להמרת וורד למלל, וגם משתמש בתוסף של מכון הנ''ל "המכין לתג" להמרת הערות שוליים מפורקות להערות שוליים אמיתיות של וורד. איך משתמשים בתוסף הזה? מומלץ ליצור גיבוי לקובץ לפני השימוש בתוסף. 1. מדביקים את קובץ הטקסט שמיוצא ממלל בוורד במצב טקסט נקי בלבד. 2. מפעילים את המקרו המצורף (תומך עד עשר זרמים של הערות שוליים, תמך לנו גם במסמך כבד). 3. לאחר מכן משתמשים בתוסף המכין לתג של מכון כתר תורה לפי ההוראות שם ומחזירים את ההערות שוליים המפורקות להערות שוליים אמיתיות של וורד. 4. עורכים מה שרוצים בסביבת העבודה של וורד. 5. מייצאים את המסמך בחזרה למלל לפי הקוד שפרסמנו באשכול המקורי כשדיברנו על מלל. חשוב בכל שלב לשמור על הפורמט הנכון של המספור בתחילת כל הערה המציין לאיזה זרם הוא שייך - עד להמרה הסופית למלל. האם תמיד זה יישאר מסורבל כל כך? לא! מכון כתר תורה מעוניין ליצור תוסף עם קובץ התקנה שיאחד את כל הפקודות ביחד. מכון כתר תורה מבקש לדעת עד כמה הציבור נצרך לכך, ולפי זה יפעל בכפוף לשיקול דעת ההנהלה. איזה פקודות מכון כתר תורה מעוניין לאחד ביחד, לתוכנה אחת של "ייבוא וייצוא מלל-וורד"? 1. הפקודה הנוכחית המכינה את המסמך להמרה להערות שוליים לפי הפורמט הנצרך. 2. פקודת ההמרה עצמה, לפי הפורמט הנצרך. להמרת ההערות המפורקות להערות שוליים אמיתיות של וורד. (כרגע הפקודה נמצאת בתוך תוכנת המכין לתג אבל לא בהתאמה מלאה לפורמט הנוכחי, ועל זה נעבוד בלי נדר כמידת הצורך). 3. פקודת המרת הערות שוליים של וורד עם הפורמט הנצרך, למסמך של מלל עם היררכיה נכונה של ההערות השוליים, כל זרם במקום הנכון שלו. (הפקודה פורסמה כבר בפורום זה באשכול אחר). 4. ייצוא הקובץ בחזרה מוורד למלל. (פקודה זו מעולם לא פורסמה אך הפקודה קיימת במשרדי מכון כתר תורה). להלן הקוד: Sub המרת_מלל_למסמך_מותאם_להמרה_מתג() ' מחיקת_תווים_מתנגדים Macro ' ' Selection.Find.ClearFormatting Selection.Find.Font.Underline = wdUnderlineSingle 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.Execute Replace:=wdReplaceAll 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.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Underline = wdUnderlineNone 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 ' ' המרת_מלל_למסמך_מותאם_להמרה_מתג Macro ' ' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Underline = wdUnderlineSingle 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.Replacement.ClearFormatting Selection.Find.Replacement.Font.Underline = wdUnderlineSingle 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.Underline = wdUnderlineSingle 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.Execute Replace:=wdReplaceAll Selection.Find.ClearFormatting Selection.Find.Font.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "{{{****^#" .Replacement.Text = "@04#^&" .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.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "{{{*^#" .Replacement.Text = "@01#^&" .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.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "{{{**^#" .Replacement.Text = "@02#^&" .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.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "{{{***^#" .Replacement.Text = "@03#^&" .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.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "{{{*****^#" .Replacement.Text = "@05#^&" .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.Underline = wdUnderlineSingle 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.Execute Replace:=wdReplaceAll Selection.Find.ClearFormatting Selection.Find.Font.Underline = wdUnderlineSingle 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.Execute Replace:=wdReplaceAll Selection.Find.ClearFormatting Selection.Find.Font.Underline = wdUnderlineSingle 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.Execute Replace:=wdReplaceAll Selection.Find.ClearFormatting Selection.Find.Font.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "{{{******^#" .Replacement.Text = "@06#^&" .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.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "{{{*******^#" .Replacement.Text = "@07#^&" .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.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "{{{********^#" .Replacement.Text = "@08#^&" .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.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "{{{*********^#" .Replacement.Text = "@09#^&" .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.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "{{{**********^#" .Replacement.Text = "@10#^&" .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 ' ' מחיקת_שיריים Macro ' ' Selection.Find.ClearFormatting Selection.Find.Font.Underline = wdUnderlineSingle 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.Execute Replace:=wdReplaceAll 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.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Underline = wdUnderlineNone 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 End Sub