שרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש
-
אז הנה הקוד לכותרות צד אשמח לקבל משוב.
הקוד כולל כמה וכמה קודים:
Addstyle1 ו- 2 משמשים ליצירת סגנון ואינם מיועדים לשימוש בפני עצמם
AddFrame מוסיף כותרת צד ריקה ומחשבן ימין ושמאל במסמך עם שני טורים
InsertIntoFrame ממיר פיסקה\כותרת לכותרת צד
FormattingPane פותח חלון סגנונות כדי לעצב את הכותרות צד
AddStyle3 משמש לסגנון עבור עדכון או מחיקת החלונות ואינו משמש בפני עצמו
update לעדכון מיקום הכותרות במקרה שהפיסקה זזה מהטור הימני לשמאלי או הפוך
DeleteAll למחיקת כל הכותרות צד במסמךSub Addstyle() ' ' ' ' ActiveDocument.Styles.Add Name:="כותרת צד ימין", Type:=wdStyleTypeParagraph ActiveDocument.Styles("כותרת צד ימין").AutomaticallyUpdate = False With ActiveDocument.Styles("כותרת צד ימין").font .Name = "+גוף" .Size = 8 .Bold = False .Italic = False .Color = wdColorAutomatic .Superscript = False .Subscript = False .SizeBi = 8 .NameBi = "Arial" .BoldBi = False .ItalicBi = False End With With ActiveDocument.Styles("כותרת צד ימין").ParagraphFormat .Alignment = wdAlignParagraphLeft .ReadingOrder = wdReadingOrderRtl End With With ActiveDocument.Styles("כותרת צד ימין").Frame .TextWrap = True .WidthRule = wdFrameExact .Width = ActiveDocument.PageSetup.LeftMargin / 2.5 .HeightRule = wdFrameAuto .HorizontalPosition = wdFrameRight .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage .VerticalPosition = CentimetersToPoints(0.04) .RelativeVerticalPosition = wdRelativeVerticalPositionParagraph .HorizontalDistanceFromText = CentimetersToPoints(0.32) .VerticalDistanceFromText = CentimetersToPoints(0) .LockAnchor = True End With End Sub Sub Addstyle2() ActiveDocument.Styles.Add Name:="כותרת צד שמאל", Type:=wdStyleTypeParagraph ActiveDocument.Styles("כותרת צד שמאל").AutomaticallyUpdate = False With ActiveDocument.Styles("כותרת צד שמאל").font .Name = "+גוף" .Size = 8 .Bold = False .Italic = False .Color = wdColorAutomatic .Superscript = False .Subscript = False .SizeBi = 8 .NameBi = "Arial" .BoldBi = False .ItalicBi = False End With With ActiveDocument.Styles("כותרת צד שמאל").ParagraphFormat .Alignment = wdAlignParagraphRight .ReadingOrder = wdReadingOrderRtl End With With ActiveDocument.Styles("כותרת צד שמאל").Frame .TextWrap = True .WidthRule = wdFrameExact .Width = ActiveDocument.PageSetup.LeftMargin / 2.5 .HeightRule = wdFrameAuto .HorizontalPosition = wdFrameLeft .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage .VerticalPosition = CentimetersToPoints(0.04) .RelativeVerticalPosition = wdRelativeVerticalPositionParagraph .HorizontalDistanceFromText = CentimetersToPoints(0.32) .VerticalDistanceFromText = CentimetersToPoints(0) .LockAnchor = True End With End Sub Sub AddFrame() Dim rng As Range, styl As Style Set rng = Selection.Paragraphs(1).Range With rng .End = .Start .InsertAfter vbCr If ActiveDocument.PageSetup.PageWidth / 2 > .Information(wdHorizontalPositionRelativeToPage) Then For Each styl In ActiveDocument.Styles If styl.NameLocal = "כותרת צד שמאל" Then GoTo skp2 Next styl Call Addstyle2 skp2: .Style = ActiveDocument.Styles("כותרת צד שמאל") Else For Each styl In ActiveDocument.Styles If styl.NameLocal = "כותרת צד ימין" Then GoTo skp Next styl Call Addstyle skp: .Style = ActiveDocument.Styles("כותרת צד ימין") End If .Select End With End Sub Sub InsertIntoFrame() Dim styl As Style If ActiveDocument.PageSetup.PageWidth / 2 > Selection.Information(wdHorizontalPositionRelativeToPage) Then For Each styl In ActiveDocument.Styles If styl.NameLocal = "כותרת צד שמאל" Then GoTo skp2 Next styl Call Addstyle2 skp2: Selection.Style = ActiveDocument.Styles("כותרת צד שמאל") Else For Each styl In ActiveDocument.Styles If styl.NameLocal = "כותרת צד ימין" Then GoTo skp Next styl Call Addstyle skp: Selection.Style = ActiveDocument.Styles("כותרת צד ימין") End If End Sub Sub FormattingPane() Selection.Find.ClearFormatting Selection.Find.Style = ActiveDocument.Styles("כותרת צד ימין") Selection.Find.Replacement.ClearFormatting With Selection.Find .text = "" .Replacement.text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchWildcards = False .Execute End With Application.Dialogs(wdDialogStyleManagement).Show End Sub Sub AddStyle3() Selection.GoTo What:=wdGoToPage, Which:=wdGoToPrevious, Count:=1 Dim styl As Style For Each styl In ActiveDocument.Styles If styl.NameLocal = "temp" Then GoTo skp Next styl ActiveDocument.Styles.Add Name:="temp", Type:=wdStyleTypeParagraph ActiveDocument.Styles("temp").AutomaticallyUpdate = False skp: End Sub Sub update() ' ' ' Dim styl As Style Call AddStyle3 Selection.Find.ClearFormatting Selection.Find.Style = ActiveDocument.Styles("כותרת צד ימין") Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Style = ActiveDocument.Styles("temp") 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.Style = ActiveDocument.Styles("כותרת צד שמאל") Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Style = ActiveDocument.Styles("temp") 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.Style = ActiveDocument.Styles("temp") 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 .Execute Do While .Found = True If ActiveDocument.PageSetup.PageWidth / 2 > Selection.Information(wdHorizontalPositionRelativeToPage) Then For Each styl In ActiveDocument.Styles If styl.NameLocal = "כותרת צד שמאל" Then GoTo skp2 Next styl Call Addstyle2 skp2: Selection.Style = ActiveDocument.Styles("כותרת צד שמאל") Else For Each styl In ActiveDocument.Styles If styl.NameLocal = "כותרת צד ימין" Then GoTo skp Next styl Call Addstyle skp: Selection.Style = ActiveDocument.Styles("כותרת צד ימין") End If Selection.GoTo What:=wdGoToPage, Which:=wdGoToPrevious, Count:=1 .Execute Loop End With End Sub Sub DeleteAll() Call AddStyle3 Selection.Find.ClearFormatting Selection.Find.Style = ActiveDocument.Styles("כותרת צד ימין") Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Style = ActiveDocument.Styles("temp") 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.Style = ActiveDocument.Styles("כותרת צד שמאל") Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Style = ActiveDocument.Styles("temp") 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.Style = ActiveDocument.Styles("temp") 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 .Execute End With WordBasic.SelectSimilarFormatting Selection.Delete End Sub
-
בעיה נוספת בהערות ברצף, לפעמים חלק מההערות שוליים פשוט "נעלמים"
עריכה: נפתרכמו"כ רציתי לשאול האם צריך לעשות (בעתיד) שיהיה אפשר לעצב מילה ראשונה בהערות שוליים ברצף?
-
@pcinfogmach כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
יש למישהו מאקרו מוכן עבור stylref - כותרות מתעדכנות?
רק לכותרת 2
Sub כותרת_2() ' ' כותרת_2 Macro ' ' Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _ "STYLEREF ""כותרת 2"" \l ", PreserveFormatting:=True End Sub
-
@pcinfogmach כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
כמו"כ רציתי לשאול האם צריך לעשות (בעתיד) שיהיה אפשר לעצב מילה ראשונה בהערות שוליים ברצף?
אם ישנה אפשרות לעצב את מספר ההערה, לדעתי לא.
-
@דאנציג כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
אם ישנה אפשרות לעצב את מספר ההערה,
זה אפשר בקלות על ידי חיפוש והחלפה. האם צריך לזה גם לחצן?
-
@pcinfogmach
אם זה מוגדר אחרת מכל המסמך, כן, אך אם לא... -
@pcinfogmach
אם כך התשובה היא שלא צריך. -
@pcinfogmach
מישהו יכול לכתוב לי מסודר מה צריך לפתח בשביל כותרות? -
@pcinfogmach
שאלה לגבי הגדלת והקטנת רווחים.
מה עדיף?
לעשות קוד שיגדיל את כל הרווחים ב 1 יותר ממה שהם או שיגדיל את כל הרווחים שיהיו באופן שווה.
השאלה היא האם מצוי שיש רווחים בגדלים שונים בפיסקה אחת? -
@pcinfogmach כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
מישהו יכול לכתוב לי מסודר מה צריך לפתח בשביל כותרות?
בשביל כותרות הכי פשוט שתסתכל במדריך של @תודה-רבה-4 כאן בפיסקא של כותרות עליונות.
יש לציין שבשונה ממה שהוא עושה, התוספים לוורד משתמשים בדרך כלל בטאבים, ושלוש טאבים לא צריך, כיון שיש בוורד מובנה כבר... -
@pcinfogmach כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
השאלה היא האם מצוי שיש רווחים בגדלים שונים בפיסקה אחת?
וודאי - מה שכתוב בסוגריים.
-
@צדיק-וטוב-לו-0
מה שכתוב בסוגריים יש לו רווחים אחרים משאר הטקסט? (גם ברמה של הגדרות הטקסט באפשרויות גופן?) -
@דאנציג כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
בשביל כותרות הכי פשוט שתסתכל במדריך של @תודה-רבה-4 כאן בפיסקא של כותרות עליונות.
אשמח אם תוכל למקד אותי קצת יותר כי רוב הדברים שם זה אפשרויות מובנות של וורד
-
@pcinfogmach טעות שלי בהבנת השאלה (חשבתי שהכוונה לגודל גופן).
איני יודע איך עובדים הרווחים בסוגריים, אבל אם הגופן יותר קטן, אולי זה משפיע גם לבי הרווח? אין לי מושג. -
@pcinfogmach כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
אשמח אם תוכל למקד אותי קצת יותר כי רוב הדברים שם זה אפשרויות מובנות של וורד
וזה מה שרוב התוספים נותנים, רק במקום לעשות זאת בעשר פעולות, ובצורה שכל טעות קריטית, וצריך להתחיל הכל מהתחלה, התוסף נותן לך את האפשרויות המובנות בוורד, רק בצורה יותר קלה פשוטה לתפעול, ומהירה - time is money...
-
@צדיק-וטוב-לו-0 כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
איני יודע איך עובדים הרווחים בסוגריים, אבל אם הגופן יותר קטן, אולי זה משפיע גם לבי הרווח? אין לי מושג.
@מניין תוכל לעזור לנו פה בבקשה?
-
@pcinfogmach כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
@צדיק-וטוב-לו-0 כתב בשרשור עזרה בפיתוח התוסף לוורד - עיצוב ספרי קודש:
איני יודע איך עובדים הרווחים בסוגריים, אבל אם הגופן יותר קטן, אולי זה משפיע גם לבי הרווח? אין לי מושג.
@מניין תוכל לעזור לנו פה בבקשה?
על פי סברא לא נראה שזה משפיע כי הגדרות הגופן לא קשור לגודל הגופן, הכל הוא ביחס לגודל האותיות.
-
עקב פניות חוזרות ונשנות התחלתי לשקול בנייה של פקודה ליישור טורים בהערות שוליים.
הדרך היחידה למיטב ידעיתי היא על ידי חילוץ הטקסט והכנסתו לתוך תיבות טקסט או אולי מסגרות הייתי שמח לשמוע רעיונות על איך להתקדם עם זה
-
חשבתי על רעיון בשביל מספור עברי לכה"פ בהערות שוליים
להשתמש באפשרות "סימון מותאם אישית"
הייתי שמח לשמוע הצעות איך לעשות את זה
ובפרט האם יש דרך להקל על מספור ברצף באופן זההנה קוד דוגמא שהכנתי משהו חפלפ אבל רק כדי לתפוס את העיקרון. (הסימון 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