Word 文書を複数のドキュメントに分割するには、どうすればよいですか?
大規模なWord 文書を分割する必要がある場合、このチュートリアルでは3 つの効果的な方法をご紹介します。特定の区切り文字やページ単位で VBA を使って分割する方法、あるいはKutools for Word の便利な機能を活用する方法など、あなたのニーズにぴったりの解決策が見つかります。
- VBA を使用してWord 文書を指定した区切り文字で分割する
- Kutools for Word を使用してWord 文書を見出し/ページ/セクション区切り/改ページで分割する
- VBA を使用してWord 文書をページ単位で分割する
VBA を使用してWord 文書を指定した区切り文字で分割する
特定の区切り文字に基づいてWord 文書を自動的に分割するには、手動で分割する代わりに以下の手順で VBA を使用できます。
- Microsoft Visual Basic for Applications ウィンドウを開くには、Alt + F11を押してください。
- 挿入>モジュールをクリックし、下記の VBA コードをモジュールウィンドウに貼り付けます。
Sub SplitNotes(delim As String, strFilename As String) Dim doc As Document Dim arrNotes Dim I As Long Dim X As Long Dim Response As Integer arrNotes = Split(ActiveDocument.Range, delim) Response = MsgBox("This will split the document into " & UBound(arrNotes) + 1 & " sections. Do you wish to proceed?", 4) If Response = 7 Then Exit Sub For I = LBound(arrNotes) To UBound(arrNotes) If Trim(arrNotes(I)) <> "" Then X = X + 1 Set doc = Documents.Add doc.Range = arrNotes(I) doc.SaveAs ThisDocument.Path & "\" & strFilename & Format(X, "000") doc.Close True End If Next I End Sub Sub test() 'delimiter & filename SplitNotes "///", "Notes " End Sub - 実行ボタンをクリックするか、F5キーを押して、VBA を実行します。
- Microsoft Word のポップアップで、はいをクリックして確認してください。

注:
- スクリプトは、ドキュメント内のテキストを個別のファイルに分割する位置を特定するために、「///」(コードの22 行目)を検索します。ドキュメントで「///」以外の区切り文字を使用している場合は、VBA コードを修正して正しい区切り文字を反映させるか、分割位置に「///」を追加してください。
- コードの22 行目にある「Notes」を任意のテキストに置き換えることで、分割後のドキュメントに意味のあるファイル名の接頭辞を付与できます。
- 分割されたドキュメントは、元のファイルと同じ場所に保存されます。
- ドキュメントの末尾に区切り文字を追加しないでください。追加すると、空のファイルが作成されてしまいます。
Kutools for Word を使用してWord 文書を見出し/ページ/セクション区切り/改ページで分割する
Kutools for Word なら、手動操作や VBA に比べて、文書の分割がより便利で柔軟になります。見出し、ページ、セクション区切り、改ページ、n ページごと、またはカスタムページ範囲に基づく分割オプションを備え、あなたの特定のニーズに合わせて分割プロセスを自由にカスタマイズできます。
- KUTOOLS PLUSで分割をクリックして、分割機能を有効にします。

- 文書の分割ダイアログで、以下のオプションを設定してください。

- 分割基準ドロップダウンリストから、分割方法をお選びください。選択可能なオプションには、「見出し 1」、「改ページ」、「セクション区切り」、「ページ」、「n ページごと」、または「カスタムページ範囲」が含まれます。

- 分割後のドキュメントを保存するフォルダーを選択するには、参照ボタンをクリックしてください。

- 文書の接頭辞フィールドに、新しいドキュメント名の接頭辞としてキーワードを入力します。ヒント:更新ボタンをクリックすると、
分割されたドキュメント名をプレビューボックスで確認できます。 - OK をクリックしてください。
- 分割基準ドロップダウンリストから、分割方法をお選びください。選択可能なオプションには、「見出し 1」、「改ページ」、「セクション区切り」、「ページ」、「n ページごと」、または「カスタムページ範囲」が含まれます。
文書は指定された方法に従って分割され、生成されたファイルは指定されたフォルダーに保存されます。
注:
- n ページごとで分割する場合は、関連するボックスに数値を入力してください。

- カスタムページ範囲を指定する場合は、カンマで区切って入力してください(例:1,3-5,12)。

Word 文書をChrome やEdge のようにタブで開いて、複数のファイルを快適に閲覧&編集!
Chrome、Safari、Edge で複数のウェブページを閲覧するのと同じ感覚で、Office Tab を今すぐ無料でお試しください!を使えば、複数の Word 文書を1 つのウィンドウで開いて簡単に管理できます。各文書のタブをクリックするだけで、瞬時に切り替え可能!

VBA を使用してWord 文書をページ単位で分割する
Word 文書をすばやく複数のドキュメント(各ドキュメント1 ページ)に分割する必要がある場合は、VBA マクロを使用してこのタスクを自動化できます。以下の手順に従ってください。
- Alt + F11 を押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。
- 挿入>モジュールをクリックし、次の VBA コードを新しいモジュールウィンドウに貼り付けます:
Sub SplitIntoPages() Dim docMultiple As Document Dim docSingle As Document Dim rngPage As Range Dim iCurrentPage As Integer Dim iPageCount As Integer Dim strNewFileName As String Application.ScreenUpdating = False 'Makes the code run faster and reduces screen flicker a bit. Set docMultiple = ActiveDocument 'Work on the active document Set rngPage = docMultiple.Range 'Instantiate the range object iCurrentPage = 1 'Get the document's page count iPageCount = docMultiple.Content.ComputeStatistics(wdStatisticPages) Do Until iCurrentPage > iPageCount If iCurrentPage = iPageCount Then rngPage.End = ActiveDocument.Range.End 'Last page (no next page) Else 'Find the beginning of the next page 'Must use the Selection object. The Range.Goto method will not work on a page Selection.GoTo wdGoToPage, wdGoToAbsolute, iCurrentPage + 1 'Set the end of the range to the point between the pages rngPage.End = Selection.Start End If rngPage.Copy 'Copy the page into the Windows clipboard Set docSingle = Documents.Add 'Create a new document docSingle.Range.Paste 'Paste the clipboard contents to the new document 'Remove any manual page break to prevent a second blank docSingle.Range.Find.Execute Findtext:="^m", ReplaceWith:="" 'Build a new sequentially numbered file name based on the original multi-paged file name and path strNewFileName = Replace(docMultiple.FullName, ".doc", "_" & Right$("000" & iCurrentPage, 4) & ".doc") docSingle.SaveAs strNewFileName 'Save the new single-paged document iCurrentPage = iCurrentPage + 1 'Move to the next page docSingle.Close 'Close the new document rngPage.Collapse wdCollapseEnd 'Go to the next page Loop 'Go to the top of the do loop Application.ScreenUpdating = True 'Restore the screen updating 'Destroy the objects. Set docMultiple = Nothing Set docSingle = Nothing Set rngPage = Nothing End Sub - 実行ボタンをクリックするか、F5キーを押して、VBA を実行します。
注:分割されたドキュメントは、元のファイルと同じ場所に保存されます。
関連記事:
最高のオフィス生産性ツール
Kutools for Word– 300 以上の卓越した機能で、Word 体験をさらにレベルアップ!100 の注目の機能!
🤖KUTOOLS AI の機能:AI アシスタント/リアルタイムアシスタント/スーパーポリッシュ(書式を保持)/スーパートランスレート(書式を保持)/AI 編集/AI 校正…
📘ドキュメントマスタリー:ページ分割/文書の結合/選択範囲をさまざまな形式でエクスポート(PDF/TXT/DOC/HTML など)/一括 PDF 変換…
✏コンテンツ編集:複数ファイルにわたって一括検索と置換/すべての画像をリサイズ/表の転置行と列/表をテキストに変換…
🧹手間いらずのクリーンアップ:余分なスペースを一掃/セクション区切り/テキストボックス/ハイパーリンク/その他の削除ツールについては、削除グループをご覧ください…
➕クリエイティブ挿入:以下を挿入桁区切り記号/チェックボックス/ラジオボタン/QR コード/バーコード/複数の画像/詳細は挿入グループで…
🔍精密選択:特定のページ/表/図形/見出し段落/ナビゲーションを強化するにはその他の選択機能を活用…
⭐注目の拡張機能:任意の場所に移動/繰り返しテキストを自動挿入/ドキュメントWindows 間を切り替え/11 変換ツール…
🌍40 以上の言語をサポート:Kutools を好みの言語でお使いいただけます!英語、スペイン語、ドイツ語、フランス語、中国語など、40 以上の言語に対応しています。

Office Tab– Office にタブ付きインターフェースを導入し、作業を大幅に簡単に
- Word、Excel、PowerPoint、Publisher、Access、Visio、Project でタブを使った編集・閲覧機能を有効にします。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回のマウスクリックをカットします!
✨ Kutools for Office – 1 回のインストールで、5 つの強力なツールがすぐに使える!
含まれるもの:Office Tab Pro・Kutools for Excel・Kutools for Outlook・Kutools for Word・Kutools for PowerPoint
📦 1 つのスイートですべての5 ツールを入手|🔗 Microsoft Office とシームレスに連携|⚡ 保存時間して、すぐに生産性を向上
最高のオフィス生産性ツール
Kutools for Word– Word 向けの100+ツール
- 🤖KUTOOLS AI の機能:AI アシスタント/リアルタイムアシスタント/スーパーポリッシュ/スーパートランスレート/AI 編集/AI 校正
- 📘ドキュメントマスタリー:ページ分割/文書の結合/一括 PDF 変換
- ✏コンテンツ編集:一括検索と置換/すべての画像をリサイズ
- 🧹手間いらずのクリーンアップ:余分なスペースを削除/セクション区切りを削除
- ➕クリエイティブ挿入:桁区切り記号を挿入/チェックボックスを挿入/QR コードを作成
- 🌍40 以上の言語をサポート:Kutools はあなたの言語に対応しています!40 以上の言語をサポート!




分割されたドキュメント名をプレビューボックスで確認できます。
