인용문에 대한 내부 링크가 포함 된 기술 문서를 작성하고 문서 전체에서 일관성을 유지해야하는 일반적으로 사용되는 정보가 포함 된 Word에서 책갈피를 자주 사용합니다. 텍스트를 선택한 다음 메뉴 Insert
-> Links
-> Bookmark
로 이동하여 이름을 지정한 다음 Insert
-> Links
-> Citations
로 이동하여 삽입 할 책갈피를 선택하여 텍스트를 만들 수 있습니다 . 그러면 해당 책갈피의 텍스트가 문서의 다른 곳에 삽입됩니다.
내가 이것을하는 이유의 예로서 : 나는 종종 문서 상태를 나타내는 프론트 페이지를 가지고 있고 그 정보는 북마크를 사용하여 바닥 글에서 반복된다. 나는 그 텍스트에 대한 링크를 설정하고 그 링크를 바닥 글에 삽입 할 수있다 인쇄 미리보기로 이동하거나 문서의 모든 필드를 업데이트 할 때마다 자동으로 업데이트됩니다. 이렇게하면 검색 및 교체를 피하고 올바른 텍스트가 올바른 위치에서 업데이트된다는 것을 알 수 있습니다.
이제 대략적으로 이름이 지정된 북마크가 있다고 가정 해 보겠습니다.
북마크 이름을 바꾸려면 마우스 오른쪽 버튼을 클릭하지 않아도 수정이 가능한 문서 속성을 찾을 수 없습니다.
동일한 텍스트를 선택한 다음 이전 텍스트를 삭제하여 새 책갈피 를 삽입 할 수 있지만 다음과 같은 결과가 나타납니다.
그런 다음 필드를 마우스 오른쪽 단추로 클릭하고 (현재 이름이 바뀐) 책갈피로 다시 지정해야합니다.
특히이 책갈피가 여러 번 사용되는 큰 문서에서는 완전히 사용할 수 없습니다.
나는 이 질문 에서와 같이 웹상에서 여러 VBA 스크립트를 보았지만 효과적으로 새로운 부표를 만들고 오래된 것을 삭제함에 따라 위와 동일한 문제를 일으키고 이상적이지 않습니다.
Word 문서에서 책갈피의 이름을 바꾸는 더 간단하고 효과적인 방법이 있습니까? 아니면이 작업에 Wrong Tool ™을 사용하고 있습니까?
답변
Word 문서에서 책갈피의 이름을 바꾸는 더 간단하고 효과적인 방법이 있습니까?
Word에는 기본적으로 이름 바꾸기 기능이 없습니다. 이 부족을 해결하기위한 몇 가지 옵션이 있습니다.
-
추가 기능을 사용하십시오.
-
VBA를 사용하십시오.
애드 인 솔루션
북마크 툴 애드 인 사용
표준 책갈피 대화 상자가 수행하는 모든 작업을 수행 할 수있는 친숙한 사용자 인터페이스를 제공합니다.
Bookmark Tool은 Word 2003 용으로 개발되었습니다. Word 2007/2010에서 완전히 작동합니다.
…
“북마크 추가 / 이름 바꾸기”섹션을 사용하면 북마크를 쉽게 추가 할 수 있습니다.
소스 북마크 툴 애드 인
VBA 솔루션
이름 바꾸기 기능이 없습니다. 이전 이름을 삭제하고 새 책갈피 이름으로 범위를 표시해야합니다. 다음은 샘플 VBA 코드입니다.
Sub ReNameBookMark()
Dim doc As Word.Document
Dim rng As Word.Range
Dim bmk As Word.Bookmark
Dim inpBookmark, repBookmark, fieldStr As String
Set doc = Word.ActiveDocument
inpBookmark = InputBox("Enter bookmark name that you want to be replaced:", "BookMark Replace")
repBookmark = InputBox("Enter bookmark name replace with:", "BookMark Replace")
Set rng = doc.Bookmarks(inpBookmark).Range
Set bmk = doc.Bookmarks(inpBookmark)
bmk.Delete
rng.Bookmarks.Add (repBookmark)
If doc.Fields.Count >= 1 Then
For i = 1 To doc.Fields.Count
fieldStr = doc.Fields(i).Code.Text
If Left(fieldStr, 4) = " REF" Then
doc.Fields(i).Code.Text = Replace(fieldStr, inpBookmark, repBookmark, , 1, vbTextCompare)
doc.Fields(i).Update
End If
'MsgBox "Code = " & doc.Fields(i).Code & vbCr & "Result = " & doc.Fields(i).Result & vbCr
Next i
End If
End Sub
소스 책갈피의 텍스트가 아닌 책갈피의 “이름”을 변경하십시오 . 추가 루프를 사용하여 문서의 필드를 통과하여 책갈피의 이름을 바꾸는 참조를 변경할 수 있습니다.
이 스크립트를 사용하여주의를 기울여야합니다. 예를 들어, 단순히 “REF”라는 이름을 가진 책갈피의 이름을 바꾸거나 대소 문자 를 바꾸면 재미 있고 예상치 못한 방식으로 모든 참조 가 손상 됩니다 . 이것은 예제이며 거친 수정에만 해당됩니다.
한 번에 여러 책갈피의 일괄 이름 을 바꾸려면 Word 문서에서 책갈피의 이름을 바꾸는 더 간단하고 효과적인 방법이 있습니까?를 참조하십시오. 여기에는 샘플 VBA 코드도 포함됩니다.
답변
나는이 같은 문제가 있었고이 해결 방법 / 솔루션을 우연히 발견했습니다.
참조하려는 텍스트, 필자의 경우 제목에 대해 다음과 같이 문서 속성 제목을 설정하십시오.
Insert tab
→ Quick Parts
→ Document Property
→Title
그러면 제목을 입력 할 수있는 편집 가능한 텍스트 상자가 추가됩니다.
그런 다음 참조하기 위해 Insert tab
→ Quick Parts
→ Field
→ 로 이동 Title
하거나 실수로 한 일을 좋아할 수 있습니다. 참조가 설정되어 있고 업데이트 할 때 참조하고 F9있는 제목 상자를 추가했습니다.
제목 상자를 업데이트 할 때 참조를 모두 자동으로 업데이트하기 때문에 F9!!! Ctrl+ A함수는 머리글 / 바닥 글에있는 내용을 캡처하지 않으므로 일반적으로 머리글 / 바닥 글 내부를 두 번 클릭하여 선택하고을 눌러 F9업데이트 해야 하므로 이는 머리글에 참조가있을 때 유용합니다 .
따라서 위에서 언급 한대로 제목 참조를 작성하는 대신 다음을 수행하십시오.
-
제목 상자를 설정 한 후 제목 상자의 책갈피를 작성하십시오.
- 제목 상자를 선택하십시오 (모든 상자를 선택하려면 상단의 제목 탭을 클릭하십시오)
Insert
→Bookmark
→ (이름을 말하십시오Project_title
) →add
-
그런 다음 다음과 같이 참조를 추가하십시오.
Insert tab
→Quick Parts
→Field
→Ref
(및 원하는Project_title
것을 선택 하십시오)