Stephen은 Word에서 삽입 한 상호 참조 형식을 제어 할 수 있는지 물었습니다. 그는 표 1 또는 그림 12와 같은 레이블과 숫자를 삽입 할 때 레이블 소문자 (표, 그림) 및 레이블과 숫자 사이에 끊기지 않는 공백을 원합니다.

Word에서 이러한 유형의 상호 참조 서식을 제어 할 수있는 방법은 없습니다. 분명히 상호 참조를 배치 한 후 수동으로 변경할 수 있지만 필드를 업데이트 할 때마다 원래 Word에서 선택한 형식이 사용됩니다. 시도 할 수있는 몇 가지 매크로 기반 솔루션이 있습니다. 첫 번째 솔루션은 필드에 사용되는 실제 필드 코드를 변경합니다.

Sub FieldRefChanges1()

On Error Resume Next     Dim oStoryRng As Range     Dim oFld As Field

For Each oStoryRng In ActiveDocument.StoryRanges         For Each oFld In oStoryRng.Fields             If oFld.Type = wdFieldRef And oFld.Result.Words.Count <= 2 Then                 'add format switch with lowercase option to field codes                 oFld.Code.Text = oFld.Code.Text & "\* lower "

'updates the field results to display the new format                 oFld.Update             End If         Next oFld     Next oStoryRng End Sub

매크로에는 두 개의 중첩 된 For 루프가 포함되어 있습니다. 첫 번째는 문서의 각 스토리를 살펴보고 두 번째 항목은 각 스토리의 각 필드를 살펴 봅니다. 그런 다음 If 문을 사용하여 필드가 REF 필드 (상호 참조에 사용되는 종류)이고 필드 결과가 두 단어 이하인지 확인합니다 (표 1 또는 그림 12 참조).

이러한 기준이 충족되면 매크로는 실제 필드 코드를 변경하여 필드가 소문자로 표시되는 스위치를 추가합니다.

이 매크로에는 몇 가지 단점이 있습니다. 먼저 여러 번 실행하면 \ * lower 스위치가 REF 필드에 여러 번 추가됩니다. 둘째, 매크로는 필드 결과의 공백을 끊기지 않는 공백으로 변경하지 않습니다.

두 문제를 모두 해결하려면 매크로 결과를 변경하기 위해 수행하는 수동 프로세스를 자동화하도록 매크로를 수정하면됩니다.

Sub FieldRefChanges2()

On Error Resume Next     Dim oStoryRng As Range     Dim oFld As Field     Dim sTemp As String     Dim J As String

For Each oStoryRng In ActiveDocument.StoryRanges         For Each oFld In oStoryRng.Fields             If oFld.Type = wdFieldRef And oFld.Result.Words.Count <= 2 Then                 sTemp = oFld.Result.Text                 sTemp = LCase(sTemp)

J = InStr(sTemp, " ")

sTemp = Left(sTemp, J - 1) & Chr(160) & _                   Mid(sTemp, J + 1, Len(sTemp) - J)

oFld.Result.Text = sTemp             End If         Next oFld     Next oStoryRng End Sub

이 매크로는 필드의 결과 텍스트와 엄격하게 작동한다는 점을 제외하면 이전 매크로와 기본적으로 동일합니다. 텍스트는 sTemp 변수에 할당 된 다음 소문자로 변환됩니다. 공백의 위치가 결정되고 끊기지 않는 공백으로 대체됩니다. 그런 다음 결과는 필드의 결과 텍스트에 다시 채워집니다.

_ 참고 : _

이 페이지 (또는 WordTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / wordribbon-WordTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_WordTips_는 비용 효율적인 Microsoft Word 교육을위한 소스입니다.

(Microsoft Word는 세계에서 가장 널리 사용되는 워드 프로세싱 소프트웨어입니다.)이 팁 (141)은 Microsoft Word 97, 2000, 2002 및 2003에 적용됩니다. Word의 리본 인터페이스에 대한이 팁 버전 (Word 2007)을 찾을 수 있습니다. 이후) 여기 :

link : / wordribbon-Controlling_the_Format_of_Cross-References [Controlling the Format of Cross-References].