ציור גבול בתחתית העמוד על בסיס עמוד אחר עמוד במאקרו
סקירה
בעת הדפסה, אני חושב שהוא משמש לעתים קרובות כמסגרת של הנייר כדי לצייר גבול על הכותרת העליונה ועל ארבע. עם זאת, אם הנייר הוא גיליון בודד, עליך לצייר את הגבול באופן ידני בלבד, אך אם הוא יהפוך ליותר מעמוד אחד, הגבול לא יופיע בתחתית כל עמוד. קיימת גם תמיכה ידנית במשיכה מחדש, אך אם תוסיף או תסיר קווים באמצע, יהיה עליך לצייר מחדש את הגבול בכל העמודים.
סעיף זה מתאר כיצד להשתמש בפקודות מאקרו כדי לצייר גבולות באופן אוטומטי בתחתית כל עמוד.
גירסה מאושרת של הפעולה
גירסת Excel נתמכת
- 2010
- 2007
- 2003
- (ייתכן שהוא פועל עם גירסאות אחרות, אך הוא אינו מאושר.)
ודא שגירסת Excel
- 2010
- 2007
- 2003
תוכן
אם תדפיס עמוד בודד, תוכל לצייר גבול בתחתית השורה כדי להדפיס ללא בעיות.
עם זאת, אם יש לך יותר מעמוד אחד, באפשרותך לצייר גבול רק בתחתית השורה, אך הגבול לא יופיע בשורה התחתונה של כל עמוד. אם ברצונך שהסבול יופיע בכל עמוד, עליך להחיל באופן ידני גבול על שינוי העמוד.
עם זאת, אם תוסיף או תסיר שורה באמצע, קו מעבר העמוד וקו הגבול ייפסקו, כך שיהיה בעייתי מכיוון שהוא יהפוך שוב לצייר מחדש.
אז אני הולך להשתמש במאקרו כדי לצייר גבול על קו של שינוי עמוד בכמויות גדולות.
זה לא משנה באיזו דרך להפעיל אותו כי אתה יכול להפעיל אותו עם מאקרו מוכלל, אבל בדגימה, אני מניח לחצן על גיליון נפרד ולצייר גבול על מעבר העמוד כאשר אני לוחץ על הלחצן.
אם ברצונך להפיץ משהו שכבר מכיל פקודות מאקרו, באפשרותך פשוט להעביר את הקובץ כפי שהוא, אך אם ברצונך להרכיב את המאקרו בעצמך, הגדר את Excel כך שתוכל להרכיב את המאקרו. לקבלת מידע אודות אופן הפעולה, ראה הצגת הכרטיסיה פיתוח כדי לאפשר מיקום טופס ופיתוח תוכניות VBA .
בעת מיקום לחצן, מוצגת תיבת הדו-שיח של רישום המאקרו, כך שעליך ליצור אותו כך שתוכל להפעיל את אירוע הקליק על-ידי לחיצה על לחצן "חדש".
אנחנו לא הולכים להיכנס לפרטים רבים מדי על פקודות מאקרו או Visual Basic, אז לבדוק את זה בנפרד.
כאשר עורך Visual Basic נפתח, הוסף את הקוד הבא: באפשרותך לצייר גבול בשורה של שינויי עמוד בגיליון שצוין על-ידי קריאה לפונקציה זו.
יש לי תגובה על התיאור של הפונקציה, אז בבקשה לבדוק את זה.
'【概要】
' 改ページプレビューに合わせて、ページの下に黒の羅線を引きます。
'
'【引数】
' targetSheet : 改ページラインの描画対象シート
' lineStyle : 罫線のスタイル。XlLineStyle 列挙型から指定。
' lineWeight : 罫線の太さ。XlBorderWeight 列挙型から指定。
' lineColorIndex : 罫線の色。XlColorIndex 列挙型から指定、またはカラー パレットのインデックス値を指定。
'
'【備考】
' 一度罫線を設定すると戻せないので注意。
Private Sub SetHPageBreakLines(targetSheet As Worksheet, _
Optional lineStyle As XlLineStyle = xlContinuous, _
Optional lineWeight As XlBorderWeight = xlThin, _
Optional lineColorIndex As XlColorIndex = xlAutomatic)
' 列の最大位置取得
Dim maxColumn As Integer
maxColumn = targetSheet.UsedRange.Columns.Count
' 各ページ描画
For Each hpg In targetSheet.HPageBreaks
Dim row As Integer
Dim targetCell As Range
row = hpg.Location.row - 1
Set targetCell = targetSheet.Range(targetSheet.Cells(row, 1), targetSheet.Cells(row, maxColumn))
' 罫線のプロパティを設定する
With targetCell.Borders(xlEdgeBottom)
.lineStyle = lineStyle
.Weight = lineWeight
.ColorIndex = lineColorIndex
End With
Next
End Sub
תהליך הקליק של הלחצן הוא כדלקמן. אם תציין גיליון עבור הפונקציה SetHPageBreakLines שיצרת, באפשרותך לצייר גבול בגיליון זה. אם ברצונך גם לציין סגנון גבול, באפשרותך לציין אותו עם שאר הארגומנטים.
מאחר שזו דוגמה, שם הגיליון מצוין ישירות במאקרו, אך אני חושב שזה כללי יותר כדי לאפשר לכתוב את שם הגיליון בתא ולהיות מסוגל להפנות לתא.
'【概要】
' ボタンクリックイベント
Sub ボタン1_Click()
' 対象シート
Dim syoriSheet As Worksheet
Set syoriSheet = Worksheets("ドキュメント")
' 罫線を設定
Call SetHPageBreakLines(syoriSheet)
' 下は線のスタイル指定
'Call SetHPageBreakLines(syoriSheet, xlContinuous, xlThin, xlAutomatic)
MsgBox syoriSheet.HPageBreaks.Count & "ページ分の線の設定が完了しました。"
End Sub
בעת הפעלת המאקרו, באפשרותך לראות כי השורה התחתונה של כל עמוד גובלת. באפשרותך גם לבדוק אותו בהצגה לפני הדפסה.
כאזהרה, אני חושב שטוב להפעיל את המאקרו רק בעת הדפסה מכיוון שאין אפשרות להחזיר את הגבול בעת ביצוע המאקרו פעם אחת.