בירור | קוד מאקרו ליישור שני טורים בוורד
-
@אבי-0
1 השגיאה היא חוסר ב סוף אם (End If) כעת תקנתי
`2 יש להוסיף אחרי המאקרו שהביא`` @NykUser שמגדיר הפרש בין טורים ומגדיר גובה טור 1 וגובה טור 2 והוספה שלי מגדירה בסיום המאקרו לעבור לשורה השווה לגובה טור 1 שהיא השורה האחרונה בטור הימני
להלן הקוד המלא אם החלק הראשון שבנוי על הקוד שהביא @NykUser ובתוספת שכתבתיPublic Sub שורה_אחרונה_בטור() 'בודק אם יש שני טורים If Selection.PageSetup.TextColumns.Count <> 2 Then MsgBox ("לא נמצאו 2 טורים"): Exit Sub 'עדכון מסך שקר Application.ScreenUpdating = False Dim WRange As range Dim NumLines, col1, col2, Ignore As Double 'מספר שורות כולל בשני טורים NumLines = ActiveDocument.Bookmarks("\page").range.ComputeStatistics(wdStatisticLines) ActiveDocument.Bookmarks("\page").range.Select Selection.MoveLeft Unit:=wdCharacter, Count:=1 'מגדיר אורך טור 1 For i = 1 To NumLines Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Count:=1, Name:="" If col1 > Selection.Information(wdVerticalPositionRelativeToPage) Then Exit For Else col1 = Selection.Information(wdVerticalPositionRelativeToPage) End If Next 'עובר לשורה ראשונה בעמוד Set MyRange = ActiveDocument.Bookmarks("\page").range MyRange.SetRange Start:=MyRange.Start, End:=MyRange.Start MyRange.Select 'רד לשורה אחרונה בטור For i = 1 To NumLines Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Count:=1, Name:="" If col1 = Selection.Information(wdVerticalPositionRelativeToPage) Then Exit For ElseIf col1 > Selection.Information(wdVerticalPositionRelativeToPage) Then End If Next End Sub
-
@רפרם-בר-בר-פפא זה עדיין כותב לי את השגיאה הבאה
2. האם זה מתאים למסמך שיש בו פסקאות שהמילה הראשונה היא ב"חלונות" [כמקובל בספרים תורניים] בשיטת המסגרת. -
@רפרם-בר-בר-פפא עובד מצויין!
ישר כח גדול! -
@אבי-0 כתב בבירור | קוד מאקרו ליישור שני טורים בוורד:
האם זה מתאים למסמך שיש בו פסקאות שהמילה הראשונה היא ב"חלונות" [כמקובל בספרים תורניים] בשיטת המסגרת.
יש איזשהו באג בוורד שכאשר המילה הראשונה בתוך מסגרת הוא מחשב את השורות כאילו הפיסקה הזאת נמצאת בנפרד, דהיינו כמו שהשורות היו מעוצבות במקרה שזה לא היה במסגרת. ולכן בכל הפקודה דלעיל עלולות לצוץ תקלות. (אמנם לא בהכרח, אבל זה קורה).
-
@רפרם-בר-בר-פפא
אני צריך אותך רגע לפרטי, אך אין לך פרטי כרגע, אודה ואשמח מאד אם תתקשר אליי ל: 0583292679 -
@רפרם-בר-בר-פפא זה לא קשור לפיסקאות אלא לשורות וכאשר אתה משתמש בפקודה זו:
Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Count:=1
פעמים שזה לא יעבור למיקום שתכננת, דו"ק ותשכח.
-
כאן אתה יכול לראות שלמרות שבפועל ישנם 4 שורות הוורד מחשיב זאת כ-3 בלבד! -
@רפרם-בר-בר-פפא הנפ"מ היא כאשר השורה האחרונה קצרה עם מילה בודדת, שאז השורה יכולה להתפספס כאשר 'וורד' ידלג עליה.
-
@poker כתב בבירור | קוד מאקרו ליישור שני טורים בוורד:
האם הוא יכול בתוסף שלו להגדיר שהמילה הראשונה תיצור סגנון לעצמה (כוונתי כשמפעילים את התוסף, והוא מעצב את המילה הראשונה, שהיא תהיה בסגנון)
ברעיון, (לא בדקתי) אתה יכול ליצור סגנון חדש, ואחר כך לעמוד בתוך מסגרת שכבר נעשתה על ידי התוסף, וללחוץ על לחצן ימני על הסגנון, וכך יווצר לך סגנון זה.
כמו כן אתה יכול לבחור את כל הטקסט בעיצוב דומה ולהחיל עליהם את הסגנון שיצרת...
ועיין כאן.
בהצלחה -
ברעיון, (לא בדקתי) אתה יכול ליצור סגנון חדש, ואחר כך לעמוד בתוך מסגרת שכבר נעשתה על ידי התוסף, וללחוץ על לחצן ימני על הסגנון, וכך יווצר לך סגנון זה.
כמו כן אתה יכול לבחור את כל הטקסט בעיצוב דומה ולהחיל עליהם את הסגנון שיצרת...ברעיון אתה צודק, וכך בד"כ אני עושה, אך רציתי לחסוך לי את הזמן הזה, הגם שבספרים ארוכים הוורד נתקע לי קצת...
-
-
-
-
-
-