- 問い:Wordの見出しの行頭に出る黒い点(■)は何で、消す必要はあるか。
- 方法:点を出す3つの段落設定を、スタイルと段落の両方から外すスクリプトを作り、試験用の文書と実際の文書で確かめました。
- 結果:点は印刷にもPDFにも出ません。消すと見出しがページ最下部に取り残されることがあるため、その検出も組み込みました。
- 私の役割:原因の調査、スクリプトの作成、公開する範囲(個人情報を載せない線引き)と記載内容の確認です。
Word の見出しの行頭に出る黒い点(■)を、元の設定ごと外す PowerShell スクリプト。
この点は編集記号で、編集記号を表示した画面にしか出ない。印刷や PDF には出ない。
点を消す必要があるのは、相手が編集記号を表示したまま docx を開く場合だけ。PDF で渡す、印刷して渡す、自分の画面で気になるだけ、という場合は消さなくてよい。自分の画面だけなら、表示を切り替えれば足りる。
- 一時的に隠す:Ctrl+Shift+8(編集記号の表示/非表示)
- 段落記号の常時表示を止める:「ファイル」→「オプション」→「表示」→「段落記号」のチェックを外す
設定を外すと、見出しがページの最下部に取り残され、本文だけが次のページに送られることがある。点は画面だけの問題だが、こちらは印刷にも PDF にも出る実害になる。外す前にこの点を比べること。
段落に次の設定が付いていると、編集記号を表示した画面で行頭に黒い点が出る。
| 設定(段落ダイアログ「改ページと改行」タブ) | COM のプロパティ |
|---|---|
| 次の段落と分離しない | KeepWithNext |
| 段落を分割しない | KeepTogether |
| 段落前で改ページ | PageBreakBefore |
Word 標準の見出しスタイル(見出し 1 など)には、「次の段落と分離しない」と「段落を分割しない」が初めから入っている。そのため、段落ごとの設定を外しても、スタイル側の設定が残って点は消えない。「次の段落と分離しない」だけ外して「段落を分割しない」が残っている、という見落としも起きやすい。
pandoc など、Word のスタイルを引き継いで docx を作る道具で作った文書も、同じ理由で点が出る。
Windows と Microsoft Word が必要。
このリポジトリのページで、緑の「Code」→「Download ZIP」を選ぶ。ダウンロードした ZIP を展開する。
インターネットからダウンロードしたファイルには「インターネットから来たファイル」の印が付いている。展開したフォルダで PowerShell を開き、印を外す。
Get-ChildItem -Recurse | Unblock-FileWindows の初期設定では PowerShell スクリプトの実行が止められている。次のように -ExecutionPolicy Bypass を付けて実行する。この指定はその 1 回の実行だけに効き、PC の設定は変えない。
powershell -ExecutionPolicy Bypass -File .\Remove-KeepMarks.ps1 -Path .\document.docx- 元のファイルは上書きしない。同じフォルダに
document_nomarks.docxを作る。保存先は-OutPathで変えられる。 - Word を画面に出さずに別途起動して処理する。処理する文書は Word で閉じておく。
- 処理の内容
- 段落スタイルとリンクスタイルから、上の 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)