Ian에는 다른 문서에 대한 링크가 포함 된 많은 문서가 있습니다.

(이들은 하이퍼 링크가 아니라 Word의 실제 문서 링크입니다.) 그는 이러한 링크를 끊어야하며, 문서를로드하고 링크를 하나씩 끊을 수 있다는 것을 알고 있습니다. 하지만 폴더의 모든 문서를 살펴보고 해당 문서 내의 모든 링크를 자동으로 끊을 수있는 매크로가 있는지 궁금합니다.

수동으로 다음 단계에 따라 링크를 끊을 수 있습니다.

  1. 리본의 파일 탭을 클릭합니다.

  2. 화면 왼쪽에서 정보가 선택되어 있는지 확인합니다.

  3. 화면 오른쪽 하단의 관련 문서 범주에서 파일 링크 편집을 클릭합니다. (이 옵션을 사용할 수 없으면 Word에서 현재 문서에 링크가 없다고 생각하는 것입니다.) Word는 링크 대화 상자를 표시합니다. (그림 1 참조)

  4. 끊으려는 링크를 선택하십시오.

  5. 링크 끊기를 클릭하십시오. 작업을 확인하라는 메시지가 표시됩니다.

  6. 확인을 클릭하십시오.

Word 2007을 사용하는 경우 단계가 약간 다릅니다.

  1. Office 단추를 클릭 한 다음 준비를 클릭합니다.

  2. 파일 링크 편집을 클릭합니다. (이 옵션을 사용할 수없는 경우 Word에서 현재 문서에 링크가 없다고 생각한다는 의미입니다.)

링크 대화 상자가 표시됩니다.

  1. 끊으려는 링크를 선택하십시오.

  2. 링크 끊기를 클릭하십시오. 작업을 확인하라는 메시지가 표시됩니다.

  3. 확인을 클릭하십시오.

아시다시피이 프로세스는 특히 많은 문서가 있고 각 문서에 여러 링크가있는 경우 다소 노동 집약적입니다. 이 프로세스의 노동 집약적 특성은 Ian이 매크로 제어하에 링크를 끊는 방법을 찾고 있었던 이유입니다.

매크로에서이 작업을 수행하려면 매크로가 폴더의 각 문서를 열고 찾은 링크를 끊은 다음 문서를 저장해야합니다.

폴더에있는 문서의 수를 파악하고 열고 닫는 것은 다소 간단합니다. 링크를 끊으려면 매크로가 문서의 각 필드를 살펴보고 LINK 필드를 사용하는 필드 만 끊어야합니다. 다음 매크로는 이것이 수행되는 방법을 보여줍니다.

Sub RemoveLinks()

Dim fleArray() As String     Dim flCount As Long     Dim k As Long     Dim fle As String     Dim fld As Field     Dim currentFileName As String     Dim docPath As String     Dim bDirty As Boolean

docPath = ActiveDocument.Path & "\"

currentFileName = ActiveDocument.Name

fle = Dir(docPath & "doc")

flCount = -1     ReDim fleArray(0)

Do While fle <> ""

flCount = flCount + 1         ReDim Preserve fleArray(flCount)

fleArray(flCount) = fle         fle = Dir()

Loop

If MsgBox("There are " & flCount + 1 & " files to be processed." _       & vbCrLf & "Do you want to continue?", vbYesNo, "Break links") _       = vbNo Then Exit Sub

For k = 0 To UBound(fleArray)

fle = fleArray(k)

Options.UpdateLinksAtOpen = False         Documents.Open FileName:=docPath & fle         Options.UpdateLinksAtOpen = True         bDirty = False         For Each fld In ActiveDocument.Fields             If fld.Type = wdFieldLink Then                 ' Uncomment the following if link needs to be updated                 ' before the link is broken                 ' fld.LinkFormat.Update                 fld.LinkFormat.BreakLink                 bDirty = True             End If         Next fld         If bDirty Then ActiveDocument.Save    ' Only save if links broken         If ActiveDocument.Name <> currentFileName Then ActiveDocument.Close     Next k End Sub

Fields 컬렉션의 각 필드 (fld)를 살펴 보는 For Each 루프를 확인하십시오. 필드의 Type 속성이 wdFieldLink (LINK 필드임을 의미)와 같은지 확인합니다. 그렇다면 코드는 필드의 LinkFormat 속성과 함께 BreakLink 메서드를 사용하여 링크를 효과적으로 제거합니다.

_ 참고 : _

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

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

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

(Microsoft Word는 세계에서 가장 인기있는 워드 프로세싱 소프트웨어입니다.)이 팁 (2357)은 Microsoft Word 2007, 2010, 2013 및 2016에 적용됩니다.