Word文書を複数の文書に分割する方法は?
大きなWord文書を複数の小さな文書に分割する必要がある場合、このチュートリアルでは3つの効果的な方法を紹介します。特定の区切り文字やページごとにVBAを使用して分割する方法、またはKutools for Wordの簡素化された機能を利用する方法など、ニーズに合った解決策が見つかります。
- VBAを使用して指定した区切り文字でWord文書を分割する
- Kutools for Wordを使用して見出し/ページ/セクション区切り/改ページでWord文書を分割する
- VBAを使用してページ単位でWord文書を分割する
VBAを使用して指定した区切り文字でWord文書を分割する
手動で文書を分割する代わりに、VBAを使用して特定の区切り文字でWord文書を分割できます。以下の手順に従ってください:
- Alt + F11を押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。
- クリックします 挿入 > モジュールそして、以下の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文書を開き、管理できます。文書間の切り替えは、タブをクリックするだけで簡単に行えます!
今すぐOffice Tabを無料で試してみましょう!
VBAを使用してページ単位でWord文書を分割する
Word文書を各ページごとに複数の文書に迅速に分割する必要がある場合、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 - Wordの体験を100以上の素晴らしい機能で向上させましょう!
🤖 Kutools AI機能: AIアシスタント / リアルタイムアシスタント / スーパー ポリッシュ (形式を保持) / スーパー トランスレート (形式を保持) / AI編集 / AI校正...
📘 文書のマスタリー: ページの分割 / 文書の結合 / 様々な形式で選択をエクスポート (PDF/TXT/DOC/HTML...) / 一括PDF変換...
✏ 内容の編集: 複数ファイルにわたる一括検索と置換 /すべての画像をリサイズ / 表の転置 / 表をテキストに変換...
🧹 簡単なクリーンアップ:余分なスペース / セクション区切り / テキストボックス / ハイパーリンクを一掃 / その他の削除ツールは削除グループへ...
➕ 創造的な挿入: 千の区切りを挿入 / チェックボックス / ラジオボタン / QRコード / バーコード / 複数の画像 / 挿入グループでさらに発見...
🔍 精密な選択: 特定のページ / 表 / 図形 / 見出し段落を特定 / より多くの 選択 機能でナビゲーションを強化...
⭐ スター強化: 任意の場所に移動 / 繰り返しテキストを自動挿入 / 文書ウィンドウ間を切り替え /11 の変換ツール...

最高のオフィス生産性ツール
Kutools for Word - 100+ Word用ツール
- 🤖 Kutools AI機能: AIアシスタント / リアルタイムアシスタント / スーパー ポリッシュ / スーパー トランスレート / AI編集 / AI校正
- 📘 文書のマスタリー: ページの分割 / 文書の結合 / 一括PDF変換
- ✏ 内容の編集: 一括検索と置換 /すべての画像をリサイズ
- 🧹 簡単なクリーンアップ:余分なスペースを削除 / セクション区切りを削除
- ➕ 創造的な挿入: 千の区切りを挿入 / チェックボックスを挿入 / QRコードを作成