मैक्रो में पेज-बाय-पेज आधार पर पेज के नीचे एक सीमा खींचें

पेज निर्माण की तारीख :

अवलोकन

जब मुद्रण, मुझे लगता है कि यह अक्सर कागज के एक फ्रेम के रूप में प्रयोग किया जाता है हेडर और सभी चौकों पर एक सीमा आकर्षित । हालांकि, अगर पेपर सिंगल शीट है, तो आपको सिर्फ बॉर्डर को मैन्युअल रूप से खींचने की जरूरत है, लेकिन अगर यह एक से ज्यादा पेज बन जाए तो हर पेज के नीचे बॉर्डर नहीं दिखेगा । एक मैनुअल री-पुल समर्थन भी है, लेकिन अगर आप बीच में लाइनें जोड़ते हैं या निकालते हैं, तो आपको सभी पृष्ठों पर सीमा को फिर से खींचना होगा।

यह अनुभाग बताता है कि हर पृष्ठ के नीचे सीमाओं को स्वचालित रूप से आकर्षित करने के लिए मैक्रो का उपयोग कैसे किया जाए।

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

ऑपरेशन के संस्करण की पुष्टि की

समर्थित एक्सेल संस्करण

  • 2010
  • 2007
  • 2003
  • (यह अन्य संस्करणों के साथ काम कर सकता है, लेकिन इसकी पुष्टि नहीं की जाती है।

सुनिश्चित करें कि एक्सेल संस्करण

  • 2010
  • 2007
  • 2003

सामग्री

1ページの印刷

यदि आप एक ही पृष्ठ प्रिंट करते हैं, तो आप बिना किसी समस्या के प्रिंट करने के लिए लाइन के नीचे एक सीमा खींच सकते हैं।

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

हालांकि, यदि आपके पास एक से अधिक पृष्ठ हैं, तो आप केवल लाइन के नीचे एक सीमा खींच सकते हैं, लेकिन सीमा प्रत्येक पृष्ठ की निचली पंक्ति पर दिखाई नहीं देगी। अगर आप चाहते हैं कि सीमा प्रत्येक पृष्ठ पर दिखाई दे, तो आपको पेज परिवर्तन पर मैन्युअल रूप से सीमा लागू करनी चाहिए.

हालांकि, अगर आप बीच में कोई लाइन जोड़ते हैं या निकालते हैं तो पेज ब्रेक की लाइन और बॉर्डर की लाइन कट जाती है, इसलिए परेशानी होती है क्योंकि यह दोबारा ड्रॉ हो जाती है।

तो मैं थोक में पृष्ठ परिवर्तन की एक पंक्ति पर एक सीमा आकर्षित करने के लिए एक मैक्रो का उपयोग करने जा रहा हूं ।

ボタンの配置

इससे कोई फर्क नहीं पड़ता कि इसे शुरू करने का क्या तरीका है क्योंकि आप इसे बिल्ट-इन मैक्रो के साथ चला सकते हैं, लेकिन सैंपल में, मैं एक अलग शीट पर एक बटन रखता हूं और बटन दबाते समय पेज ब्रेक पर एक सीमा खींचता हूं।

यदि आप कुछ ऐसा वितरित करना चाहते हैं जिसमें पहले से ही मैक्रो शामिल है, तो आप केवल फ़ाइल को पास कर सकते हैं, लेकिन यदि आप मैक्रो को स्वयं इकट्ठा करना चाहते हैं, तो एक्सेल सेट करें ताकि आप मैक्रो को इकट्ठा कर सकें। ऐसा करने के बारे में जानकारी के लिए, फॉर्म प्लेसमेंट और वीबीए कार्यक्रम विकास को सक्षम करने के लिए विकास टैब प्रदर्शित करें।

マクロの登録

जब आप एक बटन डालते हैं, तो मैक्रो पंजीकरण संवाद प्रदर्शित होता है, तो चलिए इसे बनाते हैं ताकि आप "नया" बटन दबाकर क्लिक इवेंट चला सकें।

हम मैक्रो या विजुअल बेसिक के बारे में बहुत अधिक विस्तार में नहीं जा रहे हैं, इसलिए इसे अलग से देखें।

जब विजुअल बेसिक एडिटर खुलता है, तो निम्नलिखित कोड जोड़ें: आप इस फ़ंक्शन को कॉल करके एक निर्दिष्ट शीट पर पृष्ठ परिवर्तनों की एक पंक्ति पर एक सीमा खींच सकते हैं।

मैं समारोह के विवरण के बारे में एक टिप्पणी है, तो कृपया इसे जांच करें ।

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

各ページ毎の罫線表示

जब आप मैक्रो चलाते हैं, तो आप देख सकते हैं कि प्रत्येक पृष्ठ की निचली पंक्ति सीमा है। आप इसे प्रिंट प्रीव्यू में भी देख सकते हैं।

एक चेतावनी के रूप में, मुझे लगता है कि यह मैक्रो चलाने के लिए केवल जब मुद्रण अच्छा है क्योंकि सीमा सेट जब मैक्रो एक बार मार डाला है वापस नहीं किया जा सकता है ।