Jenniferには、他の何百ものドキュメントへのリンクがあるWordドキュメントがあります。ここで、彼女はこれらの各リンクを、参照されている実際のドキュメントに置き換えたいと考えています。 (言い換えれば、彼女は参照されたドキュメントを埋め込みたいのです。)彼女は、各ドキュメントを個別に実行する代わりに、これを実行するグ​​ローバルな方法があるかどうか疑問に思います。

解決策は、他のドキュメントを現在のドキュメントにリンクする方法によって異なります。 [ファイルからのテキスト]コマンド([挿入]タブ| [オブジェクト] | [ファイルからのテキスト])を使用して別のファイルの内容を挿入し、リンクとして挿入することを選択した場合、ファイルの内容は実際にはINCLUDETEXTフィールドを使用して追加されます。他のフィールドと同様に、次の方法でフィールドのリンクを解除できます。

。フィールドを選択します。 (または、フィールドがたくさんある場合は、Ctrl + Aを押してドキュメント全体を選択します。)

。 Ctrl + Shift + F9を押します。 Wordはフィールドのリンクを解除し、フィールドが表すテキストを残します。

ドキュメントがハイパーリンクを使用してリンクされている場合、プロセスは少し難しくなります。理由は単純です。ハイパーリンクは他のドキュメントへのポインタであり、他のドキュメントの実際のコンテンツではありません。つまり、他のドキュメントを開いてその内容を取得し、ハイパーリンクの代わりに現在のドキュメントに詰め込む方法を考え出す必要があります。

このタイプの作業は、マクロで行うのに最適です。次の例では、実際に各ハイパーリンクを逆方向に移動してファイルを挿入します。

Sub InsertDocs()

Dim aRange As Range     Dim J As Long

Set aRange = ActiveDocument.Range     ' Go backwards because hyperlinks are deleted as processed     For J = aRange.Hyperlinks.Count to 1 Step -1         With aRange.Hyperlinks(J)

' Process only hyperlinks to documents             If InStr(.Address, ".doc") > 0 Then                 .Range.Select                 On Error GoTo noFile                 .Follow                 On Error GoTo 0                 ActiveDocument.Range.Copy                 ActiveDocument.Close                 Selection.Paste             End If             GoTo nextFile noFile:

On Error GoTo 0             MsgBox "Cannot open file " & .Address nextFile:

End With     Next J End Sub

マクロはハイパーリンクをチェックして、文字「.doc」が含まれていることを確認することに注意してください。これは、テストが文字「.docx」および「.docm」にも一致するため、古い.DOCファイルのみに制限されることを意味するものではありません。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(6824)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice365のWordに適用されます。