שרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש
-
חשבתי על רעיון בשביל מספור עברי לכה"פ בהערות שוליים
להשתמש באפשרות "סימון מותאם אישית"
הייתי שמח לשמוע הצעות איך לעשות את זה
ובפרט האם יש דרך להקל על מספור ברצף באופן זההנה קוד דוגמא שהכנתי משהו חפלפ אבל רק כדי לתפוס את העיקרון. (הסימון ChrW(8203) הינו רווח בלתי נראה ומשמש במקרה זה עבור סימון המיספור לצורך חיפוש)
Attribute VB_Name = "מספור_עברי" Option Explicit Sub Macro21() ' ' Macro21 Macro ' ' Dim rng As Range Dim prev As String Dim ref As String Set rng = Selection.Range ref = ChrW(8203) & "א" & ChrW(8203) Selection.find.ClearFormatting Selection.find.Replacement.ClearFormatting With Selection.find .text = ChrW(8203) & "*" & ChrW(8203) .Replacement.text = "" .Forward = False .Wrap = wdFindStop .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True .Execute If .found Then prev = Selection End If End With If prev = ChrW(8203) & "א" & ChrW(8203) Then ref = ChrW(8203) & "ב" & ChrW(8203) rng.Select With rng .Footnotes.Add Range:=Selection.Range, Reference:=ref End With End Sub
-
אז הנה טיוטא של הרעיון שלי להערות שוליים עברי יותר משצב - אשמח לקבל הערות והארות.
עריכה: וכעת הקוד מוכן.הוראות
מאקרו הערות שוליים יותר משצב
אפשר להוסיף עוד הערות שוליים והלריץ שוב כדי לעדכן את המיספור
יש להמתין בסבלנות בעת הרצת המאקרו גם אם וורד אומר שהוא נתקע כביכול – ההמרה הראשונה לוקחת יותר זמן מעדכון
ככל שיש יותר הערות שוליים להמיר במסמך כן יארך זמן פעולת המאקרו.
וכמובן מומל לשמור גיבוי של המסמך לפני שמתחיליםOption Explicit Sub המר_הערות_שוליים_למספור_עברי_יותר_משצב() Application.ScreenUpdating = False Dim origRange As Range Set origRange = Selection.Range Dim i As Integer Dim ftnoteText As String Dim ftnoteRefrence As Range For i = 1 To ActiveDocument.Footnotes.Count Set ftnoteRefrence = ActiveDocument.Footnotes(i).Reference If ftnoteRefrence <> ChrW(8203) Then ftnoteText = ActiveDocument.Footnotes(i).Range.Text ftnoteRefrence.Characters(1).Delete ftnoteRefrence.Select ActiveDocument.Footnotes.Add Range:=Selection.Range, Text:=ftnoteText, Reference:=ChrW(8203) End If Next i Call AddHebrewFootnoteRefrenceStyle Call DeleteAllRefrenceLetters Call MainDocHebrewRefrence Call FootnotesRefrence Call DeleteDoubleSpace origRange.Select Application.ScreenUpdating = True Application.ScreenRefresh End Sub Private Sub FootnotesRefrence() Dim doc As Document Dim rng As Range Dim i As Long Dim ftnoteNumber As Long Dim hebrewftNoteNumber As String For i = 1 To ActiveDocument.Footnotes.Count Set rng = ActiveDocument.Footnotes(i).Range ftnoteNumber = ActiveDocument.Footnotes(i).Index hebrewftNoteNumber = ConvertToHebrew(ftnoteNumber) With rng .start = .start - 1 .End = .start .Text = hebrewftNoteNumber & " " .style = ActiveDocument.Styles("הפניה להערת שוליים עברי") End With Next i End Sub Private Sub MainDocHebrewRefrence() Dim doc As Document Dim rng As Range Dim i As Long Dim ftnoteNumber As Long Dim hebrewftNoteNumber As String For i = 1 To ActiveDocument.Footnotes.Count Set rng = ActiveDocument.Footnotes(i).Reference ftnoteNumber = ActiveDocument.Footnotes(i).Index hebrewftNoteNumber = ConvertToHebrew(ftnoteNumber) With rng .start = .End .Text = hebrewftNoteNumber .style = ActiveDocument.Styles("הפניה להערת שוליים עברי") End With Next i End Sub Private Sub AddHebrewFootnoteRefrenceStyle() On Error GoTo skp ActiveDocument.Styles.Add Name:="הפניה להערת שוליים עברי", Type:= _ wdStyleTypeCharacter With ActiveDocument.Styles("הפניה להערת שוליים עברי") .BaseStyle = -39 End With skp: End Sub Private Sub DeleteAllRefrenceLetters() Dim rng1 As Range Set rng1 = ActiveDocument.Content Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting On Error GoTo skp rng1.Find.style = ActiveDocument.Styles("הפניה להערת שוליים עברי") With rng1.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 rng1.Find.Execute Replace:=wdReplaceAll Dim rng2 As Range Dim ftnoteNumber As Long ftnoteNumber = ActiveDocument.Footnotes.Count Set rng2 = ActiveDocument.Footnotes(1).Range rng2.End = ActiveDocument.Footnotes(ftnoteNumber).Range.End Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With rng2.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .style = ActiveDocument.Styles("הפניה להערת שוליים עברי") .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With rng2.Find.Execute Replace:=wdReplaceAll skp: End Sub Private Sub DeleteDoubleSpace() Dim rng As Range Dim ftnoteNumber As Long ftnoteNumber = ActiveDocument.Footnotes.Count Set rng = ActiveDocument.Footnotes(1).Range rng.End = ActiveDocument.Footnotes(ftnoteNumber).Range.End Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With rng.Find .Text = "( )\1@" .Replacement.Text = "\1" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = True .MatchSoundsLike = False .MatchAllWordForms = False End With rng.Find.Execute Replace:=wdReplaceAll skp: End Sub Function ConvertToHebrew(ByVal ftnoteNumber As Long) As String Dim MyArray As Variant Dim MyaArray As Variant Dim v As Long Dim s As String Dim i As Long s = "" MyArray = Array(400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1) MyaArray = Array("ת", "ש", "ר", "ק", "צ", "פ", "ע", "ס", "נ", "מ", "ל", "כ", _ "י", "ט", "ח", "ז", "ו", "ה", "ד", "ג", "ב", "א") v = Val(ftnoteNumber) Do While v > 0 If v = 15 Or v = 16 Then s = s & "ט" v = v - 9 End If For i = 0 To UBound(MyArray) If v >= MyArray(i) Then s = s & MyaArray(i) v = v - MyArray(i) Exit For End If Next i Loop If s = "רצח" Then s = "רחצ" If s = "רע" Then s = "ער" If s = "רעב" Then s = "ערב" If s = "שד" Then s = "דש" If s = "שמד" Then s = "שדמ" If s = "תשמד" Then s = "תדשם" If s = "רעה" Then s = "ערה" If s = "רעד" Then s = "עדר" ConvertToHebrew = s End Function
-
@pcinfogmach
החבר המבוקש אינו נמצא:
הסגנון הפניה להערת שוליים. -
@pcinfogmach כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
@pcinfogmach
מישהו יכול לכתוב לי מסודר מה צריך לפתח בשביל כותרות?אני יכול לכתוב מצב הכי אידיאלי שהייתי רוצה שיהיה, ותעשה כמה שידך מגיע:
- צריך ליצור שלש טאבים, שיתמקמו: 1 ל25% אחוז רוחב של בין השוליים מצד ימין, 2 לחצי מהרוחב שבין השוליים, 3 75% מהרוחב שבין השוליים.
- טאב מיושר לפנימי\חיצוני ולמקם שם מספור עמודים עברי בלי באג שצ"ג.
- שהתוסף יתן אפשרות להכניס בטאב האמצעי שדה של כותרות משתנה לפי סגנון (פרק א', פרק ב').
שדרוג: - שיתן אפשרות בעת הפעלת המאקרו להכניס המילים שאמורים להופיע בטאב הראשון (לדוגמא 'אמרי') ובטאב השלישי (לדוגמא 'יחזקאל'). ולהחיל על זה סגנון (תו) מיוחד, כדי שיהא אפשר אח"כ לעצב את זה בקלות.
הוספה לתוסף - 1:
כפתור, שיעדכן את המיקומים של הטאב, אם במקרה שינו את השוליים של המסמך.הוספה לתוסף - 2:
כפתור שיאפשר לשלוט טוב יותר במיקומים של הטאב הראשון והשלישי, כי לפעמים (תלוי בעימוד של הספר) רוצים להכניס פנימה יותר את המילים (כלומר שלא יהיה 25 75, אלא 27 73), ולפעמים רוצים להוציא יותר המילים. -
@pcinfogmach כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
@pcinfogmach
שאלה לגבי הגדלת והקטנת רווחים.
מה עדיף?
לעשות קוד שיגדיל את כל הרווחים ב 1 יותר ממה שהם או שיגדיל את כל הרווחים שיהיו באופן שווה.
השאלה היא האם מצוי שיש רווחים בגדלים שונים בפיסקה אחת?בודאי שיגדל ב-1 יותר, ולא שיאפס את כולם לגודל שווה.
ראיתי שמישהו הוסיף מאקרו היום כאן. אולי כבר מלאכתך נעשית ע"י אחרים. -
@חוות-דעת כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
@pcinfogmach כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
@pcinfogmach
מישהו יכול לכתוב לי מסודר מה צריך לפתח בשביל כותרות?אני יכול לכתוב מצב הכי אידיאלי שהייתי רוצה שיהיה, ותעשה כמה שידך מגיע:
- צריך ליצור שלש טאבים, שיתמקמו: 1 ל25% אחוז רוחב של בין השוליים מצד ימין, 2 לחצי מהרוחב שבין השוליים, 3 75% מהרוחב שבין השוליים.
- טאב מיושר לפנימי\חיצוני ולמקם שם מספור עמודים עברי בלי באג שצ"ג.
- שהתוסף יתן אפשרות להכניס בטאב האמצעי שדה של כותרות משתנה לפי סגנון (פרק א', פרק ב').
שדרוג: - שיתן אפשרות בעת הפעלת המאקרו להכניס המילים שאמורים להופיע בטאב הראשון (לדוגמא 'אמרי') ובטאב השלישי (לדוגמא 'יחזקאל'). ולהחיל על זה סגנון (תו) מיוחד, כדי שיהא אפשר אח"כ לעצב את זה בקלות.
הוספה לתוסף - 1:
כפתור, שיעדכן את המיקומים של הטאב, אם במקרה שינו את השוליים של המסמך.הוספה לתוסף - 2:
כפתור שיאפשר לשלוט טוב יותר במיקומים של הטאב הראשון והשלישי, כי לפעמים (תלוי בעימוד של הספר) רוצים להכניס פנימה יותר את המילים (כלומר שלא יהיה 25 75, אלא 27 73), ולפעמים רוצים להוציא יותר המילים.אני רוצה להוסיף ל'הזמנה' עוד משהו חשוב:
בטאב האמצעי צריך להיות האפשרות להכניס שני שדות שישלפו כותרות מתוך המסמך, כמו שנהוג לעשות לכתוב לדוגמה סעיף א - ג.
וצריך לעשות אופציה להוסיף את המקף (-) כאשר מוסיפים עוד שדה. -
@pcinfogmach כדי להתרשם איך זה אמור לעבוד, תבדקו את התוסף המצורף (שבגירסה האחרונה התחיל לבקש כסף על זה (לצדקה)).
WordAccessories_Current - עזרים לוורד.zip -
@חוות-דעת כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
כדי להתרשם איך זה אמור לעבוד, תבדקו את התוסף המצורף (שבגירסה האחרונה התחיל לבקש כסף על זה (לצדקה)).
חס ושלום אינני רוצה לפגוע בו ולהעתיק ממה שהוא עשה. בתקוה להבנה.
-
@מניין כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
@חוות-דעת כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
וצריך לעשות אופציה להוסיף את המקף (-) כאשר מוסיפים עוד שדה.
זה יעשה בעיה עם חריגים, לדוגמא אם בעמוד אחד לא יהיה רק שדה אחד ישאר מקף מיותר.
זה לא בעיה כי עושים שדה עם תנאי if
באדיבות @menajemmendel
-
@pcinfogmach כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
@חוות-דעת כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
כדי להתרשם איך זה אמור לעבוד, תבדקו את התוסף המצורף (שבגירסה האחרונה התחיל לבקש כסף על זה (לצדקה)).
חס ושלום אינני רוצה לפגוע בו ולהעתיק ממה שהוא עשה. בתקוה להבנה.
חס ושלום. גם אני לא התכוונתי להעתיק. ואפי' א"א להעתיק כי זה חסום.
התכוונתי שתתרשם, מה כוונתי בגמישות של שינוי הטאבים לפנים ולחוץ. -
דרוש עזרה:
לגבי המאקרו של הערות יותר משצב
המאקרו עובד מצויין רק שמשום מה לפעמים הוא לא שומר על העיצוב.
ואםילו שניסיתי להשתמש עם הקלטה של העתק הדבק לא עזר כלום.
האם מישהו נתקל בדבר כזה שבהעתקה והדבקה העיצוב משתבש? -
@pcinfogmach
לכאורה זה תלוי בהגדרות העתק/הדבק ברירת מחדל של וורד: קובץ/אפשרויות/מתקדם. -
פוסט זה נמחק!
-