
단어의 모든 인스턴스, 즉 내 컴퓨터에 있는 파일에 대한 하이퍼링크를 어떻게 만들 수 있습니까?
나는 단어의 한 인스턴스로 그것을 할 수 있었지만 이것을 반복하는 것은 시간이 많이 걸리기 때문에 프로그램 자체가 그것을 할 수 있기를 바랍니다.
또한 파일에서 %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의 매크로 문서.
환경 변수에 관해서는 더 어려운 솔루션이 필요합니다. 즉, 링크에서 매크로를 호출하면 매크로가 파일에 대한 시스템 호출을 수행합니다. 기본을 사용하는 경우:
- 보다https://forum.openoffice.org/en/forum/viewtopic.php?f=45&t=53609하이퍼링크를 매크로로 호출하는 방법에 대해 알아보세요.
- 보다OpenOffice에서 자동 링크 만들기하이퍼링크를 찾고 생성할 수 있는 코드입니다.
- 보다https://forum.openoffice.org/en/forum/viewtopic.php?f=29&t=25047경로에서 환경 변수를 사용하는 매크로의 경우.
- 보다https://forum.openoffice.org/en/forum/viewtopic.php?f=44&t=7918시스템 호출의 경우.