Skip to content

About

Wordの見出しに出る黒い点(■)の原因になる設定を外すPowerShellスクリプト。ページ最下部に取り残された見出しの検出つき

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Remove-KeepMarks

概要(30秒で読めます)

  • 問い:Wordの見出しの行頭に出る黒い点(■)は何で、消す必要はあるか。
  • 方法:点を出す3つの段落設定を、スタイルと段落の両方から外すスクリプトを作り、試験用の文書と実際の文書で確かめました。
  • 結果:点は印刷にもPDFにも出ません。消すと見出しがページ最下部に取り残されることがあるため、その検出も組み込みました。
  • 私の役割:原因の調査、スクリプトの作成、公開する範囲(個人情報を載せない線引き)と記載内容の確認です。

Word の見出しの行頭に出る黒い点(■)を、元の設定ごと外す PowerShell スクリプト。

まず、消す必要があるかを確かめる

この点は編集記号で、編集記号を表示した画面にしか出ない。印刷や PDF には出ない。

点を消す必要があるのは、相手が編集記号を表示したまま docx を開く場合だけ。PDF で渡す、印刷して渡す、自分の画面で気になるだけ、という場合は消さなくてよい。自分の画面だけなら、表示を切り替えれば足りる。

  • 一時的に隠す:Ctrl+Shift+8(編集記号の表示/非表示)
  • 段落記号の常時表示を止める:「ファイル」→「オプション」→「表示」→「段落記号」のチェックを外す

設定を外すと、見出しがページの最下部に取り残され、本文だけが次のページに送られることがある。点は画面だけの問題だが、こちらは印刷にも PDF にも出る実害になる。外す前にこの点を比べること。

点の正体

段落に次の設定が付いていると、編集記号を表示した画面で行頭に黒い点が出る。

設定(段落ダイアログ「改ページと改行」タブ) COM のプロパティ
次の段落と分離しない KeepWithNext
段落を分割しない KeepTogether
段落前で改ページ PageBreakBefore

Word 標準の見出しスタイル(見出し 1 など)には、「次の段落と分離しない」と「段落を分割しない」が初めから入っている。そのため、段落ごとの設定を外しても、スタイル側の設定が残って点は消えない。「次の段落と分離しない」だけ外して「段落を分割しない」が残っている、という見落としも起きやすい。

pandoc など、Word のスタイルを引き継いで docx を作る道具で作った文書も、同じ理由で点が出る。

使い方

Windows と Microsoft Word が必要。

1. ダウンロード

このリポジトリのページで、緑の「Code」→「Download ZIP」を選ぶ。ダウンロードした ZIP を展開する。

2. 実行前の手当て

インターネットからダウンロードしたファイルには「インターネットから来たファイル」の印が付いている。展開したフォルダで PowerShell を開き、印を外す。

Get-ChildItem -Recurse | Unblock-File

3. 実行

Windows の初期設定では PowerShell スクリプトの実行が止められている。次のように -ExecutionPolicy Bypass を付けて実行する。この指定はその 1 回の実行だけに効き、PC の設定は変えない。

powershell -ExecutionPolicy Bypass -File .\Remove-KeepMarks.ps1 -Path .\document.docx

補足

  • 元のファイルは上書きしない。同じフォルダに document_nomarks.docx を作る。保存先は -OutPath で変えられる。
  • Word を画面に出さずに別途起動して処理する。処理する文書は Word で閉じておく。
  • 処理の内容
    1. 段落スタイルとリンクスタイルから、上の 3 つの設定を外す
    2. 段落ごとに付いた同じ設定を外す
    3. ページを組み直し、見出し(本文以外のアウトラインレベルの段落)が次の段落と別ページに分かれていないかを確認する
  • 取り残された見出しがあれば、ページ番号と見出しを一覧にする。Word で開き、その見出しの前で改ページするなどして直す。

終了コード

終了コード 意味 保存
0 問題なし。取り残された見出しはない した
1 失敗。ファイルが見つからない、保存先が元ファイルと同じ、Word を起動できない、文書を開けない、保存できないなど。「エラー:」で始まる理由を表示する 途中で止まるので、ふつうはしていない
2 保存したが、ページ最下部に取り残された見出しがある した

試したこと・わかっていないこと

  • 起動中の Word に COM で接続し、作業中のウィンドウの ActiveWindow.View.ShowParagraphs に False を代入したが、値は True のまま変わらなかった。原因は特定していない。画面の表示を切り替えるなら、上の「ファイル」→「オプション」から行う。
  • pandoc で使うひな形(reference.docx)の見出しスタイルから設定を外しておけば、次から点の出ない docx ができる見込みがある。未検証。

試験用の文書

examples/example-keep-marks.docx は試験用の文書で、個人情報は含まない。examples/New-ExampleDocument.ps1 で作り直せる。

  • 見出し 1 の段落に、直接「段落を分割しない」を付けてある。段落ごとの設定を外す処理を確かめるため。
  • 見出し 2 は、設定を外すとちょうど 1 ページ目の最下部に来る位置に置いてある。初期設定のままなら Word が見出しを 2 ページ目へ送るが、設定を外すと見出しだけが 1 ページ目に取り残される。取り残された見出しの検出を確かめるため。

改ページの位置はフォントなどの環境で変わることがある。別の環境で見出しが最下部に来ないときは、New-ExampleDocument.ps1 で作り直す。

動作確認

2026-10-15 に次の環境で実行した。

項目 値
OS Windows 11 Pro(10.0.26200)
Word Microsoft 365 の Word(64 ビット)。Application.Version = 16.0、Application.Build = 16.0.20430
PowerShell Windows PowerShell 5.1.26100.9711($PSVersionTable.PSVersion)

試験用の文書(examples/example-keep-marks.docx の写し)

  • スタイル 10 個(見出し 1〜9、目次の見出し)から設定を外した。
  • 「段落から外した: 1 件」と出た(見出し 1 に直接付けた「段落を分割しない」)。
  • 「ページ最下部に取り残された見出しがあります」と出て、1 ページ目の見出し 2 が一覧に載り、終了コードは 2 だった。

pandoc で作った 5 ページの日本語の docx(の写し)

  • スタイル 17 個(見出し 1〜9、表題など)から設定を外した。
  • 保存後の docx の中身(document.xml と styles.xml)に、3 つの設定は 1 つも残っていなかった。
  • ページ最下部に取り残された見出しはなく、終了コードは 0 だった。
  • 元のファイルは変わっていなかった(ハッシュ値で照合)。

失敗したとき

  • 存在しないファイル、保存先が元ファイルと同じ、docx でない中身のファイルのいずれも、「エラー:」と理由を表示して終了コード 1 で終わった。docx を開けなかったときも、Word は終了していた。
  • -File で実行したときと、PowerShell の中から & で呼んだときのどちらでも、終了コードは 1 だった。
  • Word を起動できない場合は試していない(Word の起動で例外が出れば、同じく終了コード 1 で終わる作り)。

ライセンス

ライセンス:MIT(LICENSE)

About

Wordの見出しに出る黒い点(■)の原因になる設定を外すPowerShellスクリプト。ページ最下部に取り残された見出しの検出つき

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages