עזרה | שינוי רוחב טורים בכמה מקטעים
-
יש לי מסמך וורד עם הרבה מקטעים, כשחלק מהם מעוצבים בטור אחד, וחלק מהם בשניים, כעת אני רוצה לשנות את המרווח בין הטורים בכל המקטעים בהם יש שני טורים, איך אני עושה את זה בלי לעבור ידנית על קטע בפני עצמו?
שאלתי את ג׳ימיני, והוא כתב לי שאפשרי רק בעזרת מאקרו שהוא הלחין בעבורי.
הכנסתי אותו בספויילר, האם הוא אמור להיות טוב? והאם יש דרך יותר פשוטה?Sub ChangeColumnSpacingForTwoColumnSections()
' הגדרת יחידת המידה
' 1 ס"מ = 28.35 נקודות (Points)
' 1 אינץ' = 72 נקודות (Points)' שנה את הערך הזה למרווח הרצוי בנקודות (Points) ' לדוגמה: עבור מרווח של 0.5 ס"מ, השתמש ב- 14.175 (28.35 * 0.5) ' עבור מרווח של 1 ס"מ, השתמש ב- 28.35 Const NewSpacing As Single = 28.35 ' **המרווח החדש בנקודות (Points)** Dim oSection As Section ' מעבר על כל המקטעים במסמך For Each oSection In ActiveDocument.Sections ' בדיקה אם המקטע מעוצב עם בדיוק 2 טורים If oSection.PageSetup.TextColumns.Count = 2 Then ' הגדרת המרווח בין הטורים עבור המקטע הזה ' (ה-Index 1 הוא תמיד המרווח בין הטור הראשון לשני) oSection.PageSetup.TextColumns(1).Spacing = NewSpacing End If Next oSection MsgBox "השינוי בוצע בהצלחה לכל המקטעים בעלי שני טורים.", vbInformation
End Sub
-
יש לי מסמך וורד עם הרבה מקטעים, כשחלק מהם מעוצבים בטור אחד, וחלק מהם בשניים, כעת אני רוצה לשנות את המרווח בין הטורים בכל המקטעים בהם יש שני טורים, איך אני עושה את זה בלי לעבור ידנית על קטע בפני עצמו?
שאלתי את ג׳ימיני, והוא כתב לי שאפשרי רק בעזרת מאקרו שהוא הלחין בעבורי.
הכנסתי אותו בספויילר, האם הוא אמור להיות טוב? והאם יש דרך יותר פשוטה?Sub ChangeColumnSpacingForTwoColumnSections()
' הגדרת יחידת המידה
' 1 ס"מ = 28.35 נקודות (Points)
' 1 אינץ' = 72 נקודות (Points)' שנה את הערך הזה למרווח הרצוי בנקודות (Points) ' לדוגמה: עבור מרווח של 0.5 ס"מ, השתמש ב- 14.175 (28.35 * 0.5) ' עבור מרווח של 1 ס"מ, השתמש ב- 28.35 Const NewSpacing As Single = 28.35 ' **המרווח החדש בנקודות (Points)** Dim oSection As Section ' מעבר על כל המקטעים במסמך For Each oSection In ActiveDocument.Sections ' בדיקה אם המקטע מעוצב עם בדיוק 2 טורים If oSection.PageSetup.TextColumns.Count = 2 Then ' הגדרת המרווח בין הטורים עבור המקטע הזה ' (ה-Index 1 הוא תמיד המרווח בין הטור הראשון לשני) oSection.PageSetup.TextColumns(1).Spacing = NewSpacing End If Next oSection MsgBox "השינוי בוצע בהצלחה לכל המקטעים בעלי שני טורים.", vbInformation
End Sub
-
יש לי מסמך וורד עם הרבה מקטעים, כשחלק מהם מעוצבים בטור אחד, וחלק מהם בשניים, כעת אני רוצה לשנות את המרווח בין הטורים בכל המקטעים בהם יש שני טורים, איך אני עושה את זה בלי לעבור ידנית על קטע בפני עצמו?
שאלתי את ג׳ימיני, והוא כתב לי שאפשרי רק בעזרת מאקרו שהוא הלחין בעבורי.
הכנסתי אותו בספויילר, האם הוא אמור להיות טוב? והאם יש דרך יותר פשוטה?Sub ChangeColumnSpacingForTwoColumnSections()
' הגדרת יחידת המידה
' 1 ס"מ = 28.35 נקודות (Points)
' 1 אינץ' = 72 נקודות (Points)' שנה את הערך הזה למרווח הרצוי בנקודות (Points) ' לדוגמה: עבור מרווח של 0.5 ס"מ, השתמש ב- 14.175 (28.35 * 0.5) ' עבור מרווח של 1 ס"מ, השתמש ב- 28.35 Const NewSpacing As Single = 28.35 ' **המרווח החדש בנקודות (Points)** Dim oSection As Section ' מעבר על כל המקטעים במסמך For Each oSection In ActiveDocument.Sections ' בדיקה אם המקטע מעוצב עם בדיוק 2 טורים If oSection.PageSetup.TextColumns.Count = 2 Then ' הגדרת המרווח בין הטורים עבור המקטע הזה ' (ה-Index 1 הוא תמיד המרווח בין הטור הראשון לשני) oSection.PageSetup.TextColumns(1).Spacing = NewSpacing End If Next oSection MsgBox "השינוי בוצע בהצלחה לכל המקטעים בעלי שני טורים.", vbInformation
End Sub
-
Sub Test() Dim i As Integer For i = 1 To ActiveDocument.Sections.Count With ActiveDocument.Sections(i).PageSetup.TextColumns If .Count = 2 Then .Spacing = CentimetersToPoints(3) 'פה יש להזין את המרווח בסנטימטרים End With Next i End Sub
-
Sub Test() Dim i As Integer For i = 1 To ActiveDocument.Sections.Count With ActiveDocument.Sections(i).PageSetup.TextColumns If .Count = 2 Then .Spacing = CentimetersToPoints(3) 'פה יש להזין את המרווח בסנטימטרים End With Next i End Sub
@pcinfogmach אולי כדאי להכניס את זה לאוסף המקרואים
-
Sub Test() Dim i As Integer For i = 1 To ActiveDocument.Sections.Count With ActiveDocument.Sections(i).PageSetup.TextColumns If .Count = 2 Then .Spacing = CentimetersToPoints(3) 'פה יש להזין את המרווח בסנטימטרים End With Next i End Sub
@pcinfogmach איפה בדיוק צריך להזין את גודל המרווח? ואיך? אם אני רוצה שיהיה 0.8 ס״מ מה לכתוב?
תודה ענקית -
@pcinfogmach איפה בדיוק צריך להזין את גודל המרווח? ואיך? אם אני רוצה שיהיה 0.8 ס״מ מה לכתוב?
תודה ענקית -
תחליף את ה-3 ב-0.8
@pcinfogmach הוא נותן לי איזו שגיאה ומקיף את השורה באדום
צילום מסך 2025-10-22 ב-17.53.38
אולי בגלל שאני על מק? לנסות לעשות את זה על ווינדוס?עריכה כעת ניסיתי בווינדוס, ועובד מצוין,
תודה רבה, חסכת לי שעות עבודה!
כדאי לדבר עם @שלמה11 לכשיתפנה שיכניס את זה לשולחנו, זה לא פעם ראשונה שאני נתקל בזה, כל קונטרס חבורות קלאסי שהכותרות בו הם בטור אחד והטקסט בשניים עלול להיתקל בזה אם לא שהגדיר מראש את הרווח. -
@pcinfogmach הוא נותן לי איזו שגיאה ומקיף את השורה באדום
צילום מסך 2025-10-22 ב-17.53.38
אולי בגלל שאני על מק? לנסות לעשות את זה על ווינדוס?עריכה כעת ניסיתי בווינדוס, ועובד מצוין,
תודה רבה, חסכת לי שעות עבודה!
כדאי לדבר עם @שלמה11 לכשיתפנה שיכניס את זה לשולחנו, זה לא פעם ראשונה שאני נתקל בזה, כל קונטרס חבורות קלאסי שהכותרות בו הם בטור אחד והטקסט בשניים עלול להיתקל בזה אם לא שהגדיר מראש את הרווח.@איש-גמזו
תעשה כך במק
גם הוספתי תיבת טקסט כך שאין תורך לשנות את הקוד כל פעםSub Test() Dim i As Integer Dim userInput As String Dim spacingCm As Double ' בקשת קלט מהמשתמש userInput = InputBox("הזן את המרווח בין הטורים (בסנטימטרים):", "מרווח טורים", "0.8") ' בדיקה שהקלט תקין If IsNumeric(userInput) Then spacingCm = CDbl(userInput) Else MsgBox "אנא הזן מספר תקין.", vbExclamation Exit Sub End If ' הגדרת המרווח For i = 1 To ActiveDocument.Sections.Count With ActiveDocument.Sections(i).PageSetup.TextColumns If .Count = 2 Then .Spacing = CmToPoints(spacingCm) End With Next i End Sub ' פונקציה שממירה ס"מ לנקודות (תואמת ל-Mac ול-Windows) Function CmToPoints(cm As Double) As Double CmToPoints = cm * 28.35 End Function