次の記事では、Word文書のブックマーク名を変更する2つの正しい方法を提供します。
長いWord文書を作成している間、ブックマークと相互参照は、同じ点を再説明する時間を大幅に節約することで、私たちの親友になることができます。 ただし、予期しない問題が発生する可能性があります。 たとえば、ブックマーク名を変更して相互参照を更新すると、必ず失敗し、次のような参照エラーで終了します。
その理由は、ブックマーク名を変更するときに、誤ってブックマーク自体を削除してしまったためです。 次に、この問題に対処する2つの方法を示します。
方法1:ブックマーク名を変更し、相互参照を手動で更新する
- まず、「挿入」タブをクリックし、「リンク」グループの「ブックマーク」をクリックします。

- 次に、目的のブックマークをクリックして選択し、「移動」をクリックします。
- それまでにブックマークテキストが選択されていることがわかります。 「削除」をクリックします。

- 次に、新しいブックマーク名を入力し、「追加」をクリックします。
- 「Alt + F9」を押して、フィールドコードを表示します。
- 複数の相互参照がある場合は、「検索と置換」機能を使用することをお勧めします。 「Ctrl + H」を押すだけで、「検索と置換」ダイアログボックスが表示されます。
- 次に、「Findwhat」テキストボックスに「REFDWORDR」と入力し、「Replacewith」テキストボックスに「REFDWORDR2」と入力します。 「DWORDR」は元のブックマーク名で、「DWORDR2」は新しいブックマーク名です。
- 次に、「すべて置換」をクリックします。
- 「検索と置換」ボックスを閉じ、「Alt + F9」を押して、参照内容を再度表示します。
- 次に、「Ctrl + A」と「F9」を押して、ドキュメントのすべてのフィールドを更新します。
相互参照の上にカーソルを移動すると、画面のヒントボックスに新しいブックマーク名が表示されます。
方法2:ブックマーク名を変更し、VBAを介して相互参照を更新する
- まず、「Alt + F11」を押してVBAエディターをトリガーします。
- 「通常」プロジェクトに移動し、最初に「挿入」タブをクリックして新しいモジュールを挿入します。
- 次に、ドロップダウンメニューで「モジュール」を選択します。
- 新しく作成したモジュールをダブルクリックして、右側の編集スペースを開きます。
- 次に、次のマクロをそこに貼り付けます。
Sub ChangeTheBookMarkNameAndUpdateCrossReference()
Dim strBookMarkName As String
Dim strNewName As String
Dim objBookMarkRange As Range
Dim objField As Field
Dim strFieldCode As String
' Rename the bookmark name.
strBookMarkName = InputBox("Enter the bookmark name which you want to change", "BookMark Name", "For example: DWORDR")
strNewName = InputBox("Enter the New bookmark Name", "New Bookmark Name", "For example: New text")
With ActiveDocument
If .Bookmarks.Exists(strBookMarkName) Then
Set objBookMarkRange = .Bookmarks(strBookMarkName).Range
.Bookmarks(strBookMarkName).Delete
.Bookmarks.Add Name:=strNewName, Range:=objBookMarkRange
' Update the cross-reference
If .Fields.Count >= 1 Then
For Each objField In .Fields
strFieldCode = objField.Code.Text
If strFieldCode = " REF " & strBookMarkName & " \h " Then
objField.Code.Text = Replace(strFieldCode, strBookMarkName, strNewName, , 1, vbTextCompare)
objField.Update
MsgBox ("Code = " & objField.Code & vbCr & "Result = " & objField.Result & vbCr)
End If
Next objField
End If
Else
MsgBox ("The Bookmark: " & strBookMarkName & " is not founded.")
End If
End With
Set objBookMarkRange = Nothing
End Sub
- 「実行」をクリックするか、「F5」を押します。
- ポップアップ表示される最初のボックスに元のブックマーク名を入力し、[OK]をクリックします。
- XNUMX番目に新しい名前を入力し、「OK」をクリックします。
最後に、結果を示すボックスが表示されます。
Word文書の世話をする
のコスト 破損したWord ドキュメントは、驚異的なビジネス損失に限定されるものではなく、人々を感情的に取り乱させるものでもあります。 そのため、文書のバックアップなど、不運を回避するための予防策を講じる必要があります。
著者紹介:
Vera Chenは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 xlsx修復 (NAIST) と pdf ソフトウェア製品を修理します。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com




![コードの貼り付け-> [実行]をクリックします コードの貼り付け-> [実行]をクリックします](https://www.datanumen.com/blogs/wp-content/uploads/2017/03/Paste-Codes-then-Click-Run-17.jpg)
![元の名前を入力-> [OK]をクリックします 元の名前を入力-> [OK]をクリックします](https://www.datanumen.com/blogs/wp-content/uploads/2017/03/Enter-the-original-name-then-Click-OK.jpg)

