OpenOffice에서 단어의 모든 인스턴스를 하이퍼링크로 만들기

OpenOffice에서 단어의 모든 인스턴스를 하이퍼링크로 만들기

단어의 모든 인스턴스, 즉 내 컴퓨터에 있는 파일에 대한 하이퍼링크를 어떻게 만들 수 있습니까?

나는 단어의 한 인스턴스로 그것을 할 수 있었지만 이것을 반복하는 것은 시간이 많이 걸리기 때문에 프로그램 자체가 그것을 할 수 있기를 바랍니다.

또한 파일에서 %windir% 및 %userprofile% 시스템 변수를 사용하고 싶습니다.

내가 시도한 것은 다음과 같습니다.

%windir%\system32\shell32.dll

그러나 이는 Openoffice로 대체되어 다음과 같이 표시됩니다(실패함).

"%25windir%25\system32\shell32.dll"

큰따옴표를 추가하면 openoffice는 경로에 또 다른 쌍을 추가하고 이로 인해 Windows에서 파일을 찾을 수 없게 됩니다.

편집 > 파일 및 바꾸기를 살펴봤지만 단어를 동일하게 유지하면서 단어의 모든 설치를 파일에 대한 하이퍼링크로 바꾸는 옵션이 표시되지 않습니다.

답변1

먼저, 생성한 기존 링크를 선택하고 복사하세요. 그런 다음 이 매크로를 실행하면 "TheWordToLink"를 모두 찾아서 해당 위치에 링크를 붙여넣을 수 있습니다.

Sub PasteHyperlinks
    Dim vDescriptor, vFound, oVC
    Dim document, dispatcher
    oVC = ThisComponent.CurrentController.ViewCursor
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    vDescriptor = ThisComponent.createSearchDescriptor()
    With vDescriptor
        .SearchString = "TheWordToLink"
        .SearchWords = True
        .SearchCaseSensitive = False
    End With
    vFound = ThisComponent.findFirst(vDescriptor)
    Do While Not IsNull(vFound)
        oVC.gotoRange(vFound, False)
        dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
        vFound = ThisComponent.findNext( vFound.End, vDescriptor)
    Loop
End Sub

검색 및 바꾸기 코드는 의 섹션 7.14에서 가져왔습니다.Andrew Pitonyak의 매크로 문서.

환경 변수에 관해서는 더 어려운 솔루션이 필요합니다. 즉, 링크에서 매크로를 호출하면 매크로가 파일에 대한 시스템 호출을 수행합니다. 기본을 사용하는 경우:

  1. 보다https://forum.openoffice.org/en/forum/viewtopic.php?f=45&t=53609하이퍼링크를 매크로로 호출하는 방법에 대해 알아보세요.
  2. 보다OpenOffice에서 자동 링크 만들기하이퍼링크를 찾고 생성할 수 있는 코드입니다.
  3. 보다https://forum.openoffice.org/en/forum/viewtopic.php?f=29&t=25047경로에서 환경 변수를 사용하는 매크로의 경우.
  4. 보다https://forum.openoffice.org/en/forum/viewtopic.php?f=44&t=7918시스템 호출의 경우.

관련 정보