選択範囲を印刷するときの正しい行番号(Microsoft Word)
Wordでは、ドキュメントに行番号を追加できます。これはまさにそれが言っていることを意味します—ドキュメントの各行は最初から最後まで番号が付けられています。これは、法的文書などの特別な文書を作成する場合、または後で参照するために行ごとにハードコピーを印刷する場合に非常に役立ちます。
連続した行番号がオンになっているドキュメントを印刷すると、Wordは最初から最後まですべての行に番号を付けます。ただし、選択範囲のみを印刷する場合(選択範囲を作成し、[印刷]ダイアログボックスを表示し、印刷対象として[選択範囲]が指定されていることを確認してください)、Wordは行番号を正しく印刷しません。 Wordは、選択範囲の行に、ドキュメント全体であるかのように番号を付けます。1つから始まり、選択範囲に進みます。 Wordが、選択内容がドキュメント内で実際に何を表しているかに応じて行番号を印刷する方がよいと考えられます。たとえば、57行目から72行目を選択して印刷した場合、Wordは1から15ではなく、57から72の数字を印刷出力の左側に印刷する必要があります。
残念ながら、この問題を回避する簡単な方法はありません。回避策の1つは、選択範囲を印刷しないことです。 (この提案は、意図したものよりも派手に聞こえるかもしれません。)代わりに、ページを印刷します。 [印刷]ダイアログボックスで、選択範囲ではなく、印刷するページ範囲を指定します。 Wordは、ドキュメントの最初から番号を付けているかのように、行番号を適切に保ちます。
もう1つのオプションは、マクロを使用して「ダーティワーク」を実行することです。マクロを使用して、選択に使用した開始行番号をリセットできます。以下は、開始行番号を要求し、その行番号を左側に印刷される最初の番号として使用して選択を印刷する単純なマクロです。 (このマクロは、指定した行番号で印刷を開始しないことに注意してください。指定した番号を選択の開始行番号として使用します。)
Sub LineNumbersPrint() Dim LineNumberStart As Integer On Error GoTo GetOut LineNumberStart = InputBox("First line number for printout?", _ "Line Numbers Printout") With ActiveDocument.PageSetup With .LineNumbering .Active = True .StartingNumber = LineNumberStart End With End With ActiveDocument.PrintOut , Range:=wdPrintSelection With ActiveDocument.PageSetup With .LineNumbering .Active = True .StartingNumber = 1 End With End With GetOut: End Sub
このマクロの使用は、実際に印刷する前に、選択した行番号を検索することを前提としています。これは、Wordの印刷プレビュー機能を使用して実行できますが、しばらくすると面倒になる可能性があります。かなりの数の選択印刷を行う場合は、次のマクロの方が興味深いでしょう。より複雑ですが、選択の開始時に使用する適切な行番号を自動的に決定してから、選択を出力します。
Sub Correct_Line_Numbers() Dim myRng As Range Dim StartRng As Range Dim iCount As Integer 'if you include the paragraph mark in your selection, then Word 'prints the subsequent line number; not the entire line, just the 'line number; therefore, if the last character of the current 'selection is a paragraph mark, then move the end position of 'the selection to the left by one character If Selection.Characters.Last = Chr(13) Then Selection.MoveEnd Count:=-1 End If 'set the current selection to a variable Set myRng = Selection.Range 'set the start of the document to a variable Set StartRng = ActiveDocument.Paragraphs(1).Range With Selection 'go to the beginning of the line for the current selection and 'set the iCount variable so that it counts the current line .HomeKey unit:=wdLine iCount = 1 'if the cursor is not at the beginning of the document 'then move the cursor up by one line 'increment iCount by one each time the cursor is not at 'the beginning of the document While Not Selection.InRange(StartRng) .MoveUp unit:=wdLine iCount = iCount + 1 'if the cursor is in a table, then the macro should 'reduce iCount; Word counts an entire table as one line If Selection.Rows.Count > 0 Then iCount = iCount - 1 End If Wend End With 'reset the starting line number so that it equals the 'number of times the cursor was moved up by a line ActiveDocument.PageSetup.LineNumbering.StartingNumber = iCount 'reselect the original selection myRng.Select 'print out only the original selection ActiveDocument.PrintOut Range:=wdPrintSelection 'reset the line number(by "undoing" the last two actions '[fields update and change line number]) 'so that line numbering begins at one ActiveDocument.Undo ActiveDocument.Undo 'reselect the original selection myRng.Select End Sub
このマクロには注意点が1つあります。ドキュメント内に隠しテキストがあり、その隠しテキストは表示されているが印刷するように設定されていない場合でも、このマクロはそれらのテキスト行を印刷するかのようにカウントします。つまり、マクロは、非表示のテキストが画面に表示されている場合、それを印刷していると想定します。
注:
このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。
(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(8520)は、Microsoft Word 2007、2010、および2013に適用されます。
Wordの古いメニューインターフェイスに関するこのヒントのバージョンは、次の場所にあります:
link選択範囲を印刷するときの正しい行番号。