Dibuixa una vora a la part inferior de la pàgina en una pàgina per pàgina en una macro

Data de creació de la pàgina :

Visió general

En imprimir, crec que sovint s'utilitza com un marc del paper per dibuixar una vora a la capçalera i els quatre. No obstant això, si el paper és un sol full, només heu de dibuixar la vora manualment, però si es converteix en més d'una pàgina, la vora no apareixerà a la part inferior de cada pàgina. També hi ha un suport de re-pull manual, però si afegiu o elimineu línies al mig, heu de tornar a dibuixar la vora a totes les pàgines.

Aquesta secció descriu com utilitzar macros per dibuixar automàticament vores a la part inferior de cada pàgina.

マクロで改ページ単位でページ下部に罫線を引く

Versió confirmada de l'operació

Versió de l'Excel admesa

  • 2010
  • 2007
  • 2003
  • (Pot funcionar amb altres versions, però no està confirmat.)

Assegureu-vos de la versió de l'Excel

  • 2010
  • 2007
  • 2003

Contingut

1ページの印刷

Si imprimiu una sola pàgina, podeu dibuixar una vora a la part inferior de la línia per imprimir sense cap problema.

複数ページ印刷時の最下行

No obstant això, si teniu més d'una pàgina, podeu dibuixar una vora només a la part inferior de la línia, però la vora no apareixerà a la fila inferior de cada pàgina. Si voleu que la vora aparegui a cada pàgina, heu d'aplicar manualment una vora al canvi de pàgina.

No obstant això, si afegiu o traieu una línia al mig, es talla la línia del salt de pàgina i la línia de la vora, de manera que és molest perquè es torna a dibuixar.

Així que vaig a utilitzar una macro per dibuixar una vora en una línia de canvi de pàgina a granel.

ボタンの配置

No importa quina manera de començar-lo perquè podeu executar-lo amb una macro integrada, però a la mostra, col·loqui un botó en un full separat i dibuixi una vora al salt de pàgina quan premeu el botó.

Si voleu distribuir alguna cosa que ja conté macros, només podeu passar el fitxer tal com és, però si voleu muntar la macro vosaltres mateixos, establiu excel perquè pugueu muntar la macro. Per obtenir informació sobre com fer-ho, vegeu Mostra la pestanya Desenvolupament per habilitar la ubicació del formulari i el desenvolupament del programa VBA.

マクロの登録

Quan col·leu un botó, es mostra el diàleg de registre de macros, així que creem-lo perquè pugueu executar l'esdeveniment de clic prement el botó "Nou".

No entrarem en massa detalls sobre macros o Visual Basic, així que fes un cop d'efecte per separat.

Quan s'obri l'editor del Visual Basic, afegiu el codi següent: Podeu dibuixar una vora en una fila de canvis de pàgina en un full especificat cridant a aquesta funció.

Tinc un comentari sobre la descripció de la funció, així que si us plau comproveu-ho.

'【概要】
' 改ページプレビューに合わせて、ページの下に黒の羅線を引きます。
'
'【引数】
' 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

El procés de clic del botó és el següent. Si especifiqueu un full per a la funció SetHPageBreakLines que heu creat, podeu dibuixar una vora en aquest full. Si també voleu especificar un estil de vora, podeu especificar-ho amb els arguments restants.

Com que és una mostra, el nom del full s'especifica directament a la macro, però crec que és més general fer possible escriure el nom del full a la cel·la i poder fer referència a la cel·la.

'【概要】
'  ボタンクリックイベント
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

各ページ毎の罫線表示

Quan executeu la macro, podeu veure que la fila inferior de cada pàgina està vorejada. També podeu comprovar-ho a Visualització prèvia d'impressió.

Com a advertència, crec que és bo executar la macro només quan s'imprimeix perquè la vora s'executa quan la macro s'executa una vegada no es pot tornar.