「選択位置より前」と「選択位置以降」とで、文書を2分割するマクロです。手動で行うと地味に面倒な作業なので、マクロ化しておくと便利です。
仕組みとコード
元の文書のコピーを2個作成し、一方は選択位置以降を削除、他方は選択位置より前を削除します。元の文書は残ります。文書の分割箇所に一時的にブックマークを設定する仕組みです。
Public Sub 選択位置で文書を分割()
  Const nameBM As String = "vba_Split" 'ブックマーク名
  Dim oDoc As Document
  Dim nameA As String, nameB As String
  Set oDoc = ActiveDocument
  '状態チェック
  If oDoc.Saved = False Then GoTo ENDUP
  If Selection.Information(wdWithInTable) Then GoTo ENDUP
    
  nameA = Replace(oDoc.Name, ".doc", "_1.doc")
  nameB = Replace(oDoc.Name, ".doc", "_2.doc")
    
  '現在位置にブックマークを設定してコピーを作成
  oDoc.Bookmarks.Add nameBM, Selection.Paragraphs(1).Range
  oDoc.SaveAs2 oDoc.Path & "\" & nameB
  oDoc.SaveAs2 oDoc.Path & "\" & nameA
    
  '前半ファイル…ブックマーク以降を削除して保存
  oDoc.Range( _
      Start:=oDoc.Bookmarks(nameBM).Range.Start, _
      End:=oDoc.Content.End).Delete
  oDoc.Save
  '後半ファイル…ブックマークより前を削除して保存
  Set oDoc = Documents.Open(oDoc.Path & "\" & nameB)
  oDoc.Range( _
      Start:=oDoc.Content.Start, _
      End:=oDoc.Bookmarks(nameBM).Range.Start).Delete
  oDoc.Bookmarks(nameBM).Delete 'ブックマーク削除
  oDoc.Save
ENDUP:
  Set oDoc = Nothing
End Sub状態チェック
文書が未保存の場合、表内が選択されている場合は処理を中止しています。ほかにも正常動作しない条件(ヘッダー・フッターが選択されている場合など)はあるので必要に応じて補ってください。
ブックマークの設定
Document.Add (ブックマーク名, 設定対象Range)分割位置を保持するために、選択範囲の先頭段落にブックマークを設定しています。
ブックマーク設定範囲の先頭を取得
Document.Bookmarks(ブックマーク名).Range.Startブックマークの開始位置から、削除範囲の開始位置、終了位置を特定しています。
削除範囲の他方位置である文書の先頭と末尾は、Document.Content.Start、Document.Content.End で求められます。
