Kraštinės braižymas puslapio apačioje pagal puslapį makrokomandoje
Apžvalga
Spausdinant, manau, kad jis dažnai naudojamas kaip popieriaus rėmo atkreipti sienos ant antraštės ir visų keturių. Tačiau, jei popierius yra vienas lapas, kraštinę reikia piešti tik rankiniu būdu, bet jei ji tampa daugiau nei vienu puslapiu, kraštinė nebus rodoma kiekvieno puslapio apačioje. Taip pat yra rankinis iš naujo traukti paramą, bet jei jūs įtraukiate arba pašalinti linijas viduryje, turėsite iš naujo nubrėžti sieną visuose puslapiuose.
Šiame skyriuje aprašoma, kaip naudoti makrokomandas norint automatiškai piešti kraštines kiekvieno puslapio apačioje.
Patvirtinta operacijos versija
Palaikoma "Excel" versija
- 2010
- 2007
- 2003
- (Jis gali veikti su kitomis versijomis, bet tai nepatvirtinta.)
Įsitikinkite, kad "Excel" versija
- 2010
- 2007
- 2003
Turinį
Jei spausdinate vieną puslapį, galite nubrėžti kraštinę eilutės apačioje, kad galėtumėte spausdinti be jokių problemų.
Tačiau jei turite daugiau nei vieną puslapį, kraštinę galite nubrėžti tik linijos apačioje, bet kraštinė nebus rodoma kiekvieno puslapio apatinėje eilutėje. Jei norite, kad kraštinė būtų rodoma kiekviename puslapyje, turite rankiniu būdu taikyti puslapio keitimo kraštinę.
Tačiau jei pridedate arba pašalinate liniją viduryje, puslapio lūžio eilutė ir kraštinės linija bus nukirptos, todėl ji yra varginanti, nes vėl tampa iš naujo piešimo.
So I'm going to naudoti makrokomandą atkreipti sienos puslapio kaita urmu linija.
Nesvarbu, kokiu būdu jį paleisti, nes galite paleisti ją su įmontuota makrokomanda, bet pavyzdyje aš įdėjau mygtuką ant atskiro lapo ir piešiu kraštinę puslapio lūžio metu, kai paspaudžiu mygtuką.
Jei norite platinti kažką, kas jau yra makrokomandų, galite tiesiog perduoti failą tokį, 9, bet jei norite patys surinkti makrokomandą, nustatykite "Excel", kad galėtumėte surinkti makrokomandą. Informacijos apie tai, kaip tai padaryti, ieškokite Skirtuko Kūrimas rodymas, kad įgalintumėte formų išdėstymą ir VBA programos kūrimą .
Kai įdedate mygtuką, rodomas makrokomandų registravimo dialogo langas, todėl sukurkime jį taip, kad galėtumėte paleisti paspaudimų įvykį paspausdami mygtuką "Naujas".
Mes neketiname eiti į per daug informacijos apie makrokomandas arba Visual Basic, todėl patikrinkite atskirai.
Kai Visual Basic rengyklę, pridėkite šį kodą: Galite nubrėžti kraštinę puslapio eilutėje, pakeisdami nurodytą lapą, paskambinę šiai funkcijai.
Turiu komentarą apie funkcijos aprašymą, todėl prašome patikrinti.
'【概要】
' 改ページプレビューに合わせて、ページの下に黒の羅線を引きます。
'
'【引数】
' 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
Mygtuko paspaudimo procesas yra toks. Jei nurodysite jūsų sukurtos funkcijos SetHPageBreakLines lapą, tame lape galėsite nubrėžti kraštinę. Jei taip pat norite nurodyti kraštinės stilių, galite jį nurodyti su likusiais argumentais.
Kadangi tai yra pavyzdys, lapo pavadinimas yra nurodytas tiesiogiai makrokomandoje, bet manau, kad bendresnio pobūdžio galimybė parašyti lapo pavadinimą ląstelėje ir ją nurodyti langelyje.
'【概要】
' ボタンクリックイベント
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
Kai paleidžiate makrokomandą, galite matyti, kad kiekvieno puslapio apatinė eilutė yra kraštinė. Taip pat galite jį patikrinti spaudinio peržiūroje.
Kaip įspėjimą, manau, kad makrokomandą naudoti gerai tik spausdinant, nes negalima grąžinti rėmelio, kai makrokomanda vykdoma vieną kartą.