Makro leheküljekaupa lehe allservas äärise joonistamine
Ülevaade
Printimisel arvan, et seda kasutatakse sageli paberi raamina, et joonistada päisele ja kõigile neljadele ääris. Kui aga paber on üks leht, peate äärise joonistama ainult käsitsi, kuid kui see muutub rohkem kui üheks leheks, ei kuvata äärist iga lehekülje allosas. Samuti on olemas käsitsi uuesti tõmbamise tugi, kuid kui lisate või eemaldate keskele ridu, tuleb ääris kõigil lehekülgedel uuesti joonistada.
Selles jaotises kirjeldatakse, kuidas kasutada makrosid iga lehekülje allosas automaatselt ääriste joonistamiseks.
Toimingu kinnitatud versioon
Toetatud Exceli versioon
- 2010
- 2007
- 2003
- (See võib töötada teiste versioonidega, kuid see ei ole kinnitatud.)
Veenduge, et Exceli versioon
- 2010
- 2007
- 2003
Sisu
Ühe lehekülje printimisel saate ilma probleemideta joonistada rea allserva, et neid ei saaks kasutada.
Kui teil on aga rohkem kui üks lehekülg, saate äärise joonistada ainult rea allosas, kuid äärist ei kuvata iga lehekülje alumises reas. Kui soovite, et ääris kuvataks igal lehel, peate lehe muutusele äärise käsitsi rakendama.
Kui aga lisate või eemaldate joone keskele, lõigatakse leheküljepiiri rida ja äärise joon ära, seega on see tülikas, sest see muutub uuesti joonistamiseks.
Nii et ma kasutan makro joonistada piiri rida lehe muutus lahtiselt.
See ei ole oluline, kuidas seda alustada, sest saate käivitada seda sisseehitatud makro, kuid proovi, ma panen nupu eraldi lehele ja joonistada piiri leheküljepiiri, kui ma vajutan nuppu.
Kui soovite levitada midagi, mis juba sisaldab makrosid, võite lihtsalt läbida faili sellisena, nagu see on, kuid kui soovite makro ise kokku panna, seadke excel, et saaksite makro kokku panna. Lisateavet selle kohta, kuidas seda teha, leiate teemast Vahekaardi Arendamine kuvamine vormi paigutuse lubamiseks ja VBA-programmi arendamiseks .
Nupu seadistamisel kuvatakse makro registreerimise dialoog, nii et loome selle nii, et saate käivitada klõpsamissündmuse, vajutades nuppu "Uus".
Me ei kavatse minna liiga palju üksikasju makrode või Visual Basic, nii et check it out eraldi.
Visual Basicu redaktori avamisel lisage järgmine kood: Määratud lehel saate joonistada äärise leheküljemuudatuste reale, kutsudes seda funktsiooni.
Mul on kommentaar funktsiooni kirjelduse kohta, nii et palun kontrollige seda.
'【概要】
' 改ページプレビューに合わせて、ページの下に黒の羅線を引きます。
'
'【引数】
' 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
Nupu klõpsamisprotsess on järgmine. Kui määrate loodud funktsiooni SetHPageBreakLines lehe, saate sellele lehele joonistada äärise. Kui soovite määrata ka ääriselaadi, saate selle määrata ülejäänud argumentidega.
Kuna see on näidis, on lehe nimi määratud otse makros, kuid ma arvan, et on üldisem võimaldada lehe nime kirjutamist lahtrisse ja viidata lahtrile.
'【概要】
' ボタンクリックイベント
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
Makro käivitamisel näete, et iga lehekülje alumine rida on ääristatud. Saate seda kontrollida ka prindi eelvaates.
Hoiatusena arvan, et makro käivitamine on hea ainult printimisel, kuna makro teostamisel ei saa piirikomplekti tagastada.