在宏中以分頁符在頁面底部繪製邊框。
概述。
列印時,通常使用標題和四面邊框作為紙張框架。 但是,如果紙張是單個紙張,則只需手動繪製邊框,但如果成為多頁,則邊框不會顯示在每個頁面的底部。 此外,還有手動繪製支援,但如果您中途添加或刪除行,則必須在所有頁面上繪製邊框。
本節介紹如何使用宏在所有頁面底部自動繪製邊框。
操作確認版本。
支援的 Excel 版本。
- 2010。
- 2007。
- 2003。
- (可能在其他版本中工作,但未經驗證)
檢查 Excel 版本。
- 2010。
- 2007。
- 2003。
內容。
如果列印的頁數為 1 頁,則繪製行底部邊框可以毫無問題地列印。
但是,如果有多個頁面,則僅將邊框繪製到行底部不會顯示在每頁的底行上。 您必須手動在分頁符處設置邊框,才能在每個頁面上顯示邊框。
但是,如果沿途添加或刪除行,分頁符行和邊框行將脫落,因此再次繪製會很麻煩。
因此,在這裡,我想使用一種方法,使用宏批量在分頁符行上繪製邊框。
由於宏可以合併並運行,因此任何啟動方法都是可能的,但在示例中,將按鈕放在單獨的工作表上,並在按下按鈕時在分頁符上繪製邊框。
如果要分發已包含宏的檔,只需傳遞檔即可,但如果要自己組合宏,請設置 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
運行宏時,您會知道每頁的底行都設置了邊框。 您可以在列印預覽中查看它們。
需要注意的一點是,在運行宏后,無法返回您設置的邊框,因此最好只在列印時運行宏並列印它。