변수를 MS Word에 저장하고 하이퍼링크의 변수로 응용프로그램에서 사용하시겠습니까?

변수를 MS Word에 저장하고 하이퍼링크의 변수로 응용프로그램에서 사용하시겠습니까?

다음 이상을 제공하는 시나리오가 있습니다.하이퍼링크 20개VM의. 따라서 VM의 경우IP가 변경됩니다, 해야 해수동으로 변경문서 전체에. 다음과 같은 변수를 저장할 수 있는 방법이 있나요?

vm_ip = "ec2-13-211-bla-bla.amazonaws.com"

따라서 하이퍼링크를 제공하는 대신ec2-13-211-bla-bla.amazonaws.com/swagger-ui.html/food-controller, 나는 줄수있어{vm_ip}/swagger-ui.html/food-controller

이 같은. 매크로를 조사하고 있었지만 혼란스럽고 어떻게 작동하는지 전혀 몰랐습니다.

답변1

  1. 이는 보이는 것보다 훨씬 더 복잡할 수 있으므로 이 답변이 다소 길어집니다. 이해해야 할 몇 가지 핵심 사항과 많은 단계가 있습니다. IMO는 적어도 아주 좋은 지침이 없으면 최종 사용자가 올바르게 수행할 것이라고 믿을 수 없습니다. 개인적으로 나는 이것이 "프로그래밍" 작업이라고 생각하며, 누구나 자주 수행할 작업이 아니기 때문에 여전히 좋은 지침 세트가 필요하다고 말하고 싶습니다.

  2. 이러한 하이퍼링크가 Word에서 작동하기를 원하는 경우 이러한 하이퍼링크를 텍스트로만 사용할 것인지 아니면 활성 하이퍼링크로 사용할 것인지에 따라 두 가지 주요 가능성이 있습니다.

    문서를 HTML 또는 PDF로 저장할 때 작동하는 방식으로 Word에 삽입하려는 경우 이 답변에서는 해당 사항을 다루지 않으므로 해당 요구 사항을 포함하도록 질문을 수정해야 합니다. 또한 여기에 설명된 필드 코딩은 데스크톱 버전의 Word에서만 사용할 수 있습니다. 웹 또는 "장치" 버전 중 하나에서도 작동할 수 있지만 지난번에 본 버전은 실제로 필드 코드와 잘 작동하지 않습니다.

  3. 따라서 이러한 링크가 Word에서 활성 링크로 처리되지 않는 Word의 텍스트가 되도록 하려면(예: 사람들이 링크 텍스트를 다른 곳에 복사할 수 있도록 문서에 있을 수 있음) SET 및 북마크를 사용하여 이를 수행할 수 있습니다. 필드.

    예를 들어, 여러 곳에서 재사용할 수 있는 "ec2-13-211-bla-bla.amazonaws.com"과 같은 "기본" 주소가 하나뿐인 경우 추가 주소 정보를 사용하여 다음을 사용할 수 있습니다.

    { SET base1 "ec2-13-211-bla-bla.amazonaws.com" }

    문서의 시작 부분에(실제로 실수로 삭제되는 것을 방지하기 위해 첫 번째 페이지 헤더에 넣는 것이 더 안전한 위치일 수 있습니다). 그런 다음 제공한 예에 따르면 REF 필드가 필요합니다.

    { REF 베이스1 }/swagger-ui.html/food-controller

    (실제로 REF를 생략하면 이점이 있습니다.)

    { base1 }/swagger-ui.html/food-controller

    모든 { }는 Windows 데스크톱 버전의 Word에서 Ctrl-F9를 사용하여 삽입할 수 있는 특수 필드 코드 중괄호 쌍이어야 합니다.

    내가 아는 한, 전체 URL을 REF 필드와 일부 일반 텍스트로 분리하면 Word에서 결과 링크 텍스트를 클릭 가능한 HYPERLINK 필드로 바꾸려고 시도하는 것이 방지됩니다.

    "ec2-13-211-bla-bla.amazonaws.com"을 다른 것으로 변경해야 하는 경우(예: "ec2-13-211-new-bla-bla.amazonaws.com"으로 변경) 이를 수정합니다. SET 필드에 텍스트를 입력하려면 SET 필드를 업데이트하고(선택하고 F9 누르기) 다른 모든 필드를 업데이트합니다(예: Ctrl-A, F9).

    SET 필드보다 실수로 삭제하기가 조금 더 어려운 경우 사용자 정의 문서 속성을 만들어 사용할 수 있습니다. 예를 들어 Word 2016/2019/365에서는

    ㅏ. 파일->정보로 이동하세요.

    비. 속성 드롭다운(오른쪽 열 상단)을 클릭합니다.

    씨. 고급 속성을 클릭하세요

    디. 사용자 정의 탭을 클릭하세요

    이자형. 텍스트 상자에 "base1"을 입력하세요.

    에프. 유형 상자에서 "텍스트"가 선택되어 있는지 확인하세요.

    g. 값 상자에 ec2-13-211-bla-bla.amazonaws.com을 입력합니다.

    시간. "콘텐츠 링크" 상자가 선택 해제되어 있는지 확인하세요.

    나. 확인을 클릭하세요

    그런 다음 링크에 필요한 필드 코딩은 다음과 같습니다.

    { DOCPROPERTY base1 }/swagger-ui.html/food-controller

    링크를 업데이트하려면 해당 사용자 정의 속성 대화 상자로 돌아가서 데모1 속성의 값을 변경한 다음 문서 텍스트를 선택하고 문서의 모든 필드를 업데이트합니다(ctrl-A, F9 다시).

    여러 개의 서로 다른 "기본 주소"가 있는 경우 여러 SET 필드나 여러 사용자 정의 문서 속성(예: base1, base2, base3 등)이 필요합니다.

  4. 클릭 가능한 하이퍼링크 필드를 원하는 경우 REF 필드를 다음과 같이 HYPERLINK 필드 내에 중첩해야 하기 때문에 조금 더 복잡해집니다.

    { 하이퍼링크 "{ base1 }/swagger-ui.html/food-controller" }

    다시,모두{ }는 키보드로 입력할 수 있는 문자가 아니라 특수 Ctrl-F9 필드 중괄호 문자여야 합니다.

    그러나 두 가지 문제가 있습니다.

    ㅏ. 표시 텍스트는 Word에서 HYPERLINK 필드를 처음 만들 때(또는 처음 업데이트할 때) 수정됩니다. 또한, 귀하가 제공한 초기 "링크 텍스트"와 동일하게 수정됩니다.

    비. Word에서는 문서를 저장하고 닫았다가 다시 열 때 REF 필드를 확인하는 경향이 있습니다(즉, 해당 결과로 필드를 바꿉니다). 따라서 그 시점에서 기본 주소를 수정하고 하이퍼링크를 업데이트하는 기능을 잃게 됩니다.

    (b) 하나의 하이퍼링크 필드를 실험해 보면 Word가 REF 필드를 확인하지 못하게 하는 것처럼 보이는 것은 HYPERLINK 필드 어딘가에 책갈피(수동으로 삽입하거나 SET 필드를 사용하여 삽입할 수 있음)가 있기 때문입니다. . Word는 삽입 지점에 _GoBack이라는 숨겨진 책갈피를 삽입하기 때문에 문서를 닫기 전에 마지막으로 수행한 작업이 HYPERLINK 필드를 편집하는 것이라면,저것필드의 중첩 필드는 다시 열 때 보존될 것입니다.

    따라서 HYPERLINK 필드의 중첩 코딩 손실을 방지하는 방법은 각 필드에 책갈피가 있는지 확인하는 것입니다. 다음과 같이 각 HYPERLINK에 다른 이름의 SET 필드를 삽입하여 이를 수행할 수 있습니다.

    { HYPERLINK "{ base1 }/swagger-ui.html/food-controller" { SET save1 " " } } { HYPERLINK "{ base1 }/swagger-ui.html/something-else" { SET save2 " " } }

    또는 다음과 같은 코딩을 사용하여 각 하이퍼링크 필드에 대해 자동으로 새 책갈피 이름을 생성할 수 있습니다.

    { HYPERLINK "{ base1 }/swagger-ui.html/food-controller" { SET "저장{ SEQ 저장 }" " " } } { HYPERLINK "{ base1 }/swagger-ui.html/something-else" { SET " 저장{ SEQ 저장 }" " " } }

    (주의, 저는 이 아이디어가 처음 나온 것이라고 생각합니다.여기. "트릭"에 의존한다는 것은 마이크로소프트가 소프트웨어를 변경하면 쉽게 약화될 수 있다는 뜻이지만 현재로서는 효과가 있는 것으로 보인다.)

    위에서 설명한 대로 { base1 } 부분에 대해 SET/REF ​​필드 또는 사용자 정의 문서 속성 접근 방식을 사용할 수 있어야 합니다.

    마지막으로 문제 (a), 즉 링크의 "표시 텍스트"는 어떻습니까?

    실제로 해결하기가 조금 더 어렵습니다.

    A. "링크 텍스트"와 독립적인 "표시 텍스트"를 원한다고 가정합니다. 예를 들어 표시 텍스트를 원하는 경우

    내 표시 텍스트

    그런 다음 먼저 최종적으로 사용하게 될 필드에 하이퍼링크를 만듭니다. 예:

    { HYPERLINK "{ base1 }/swagger-ui.html/food-controller" { SET save1 " " } }

    그런 다음 실제로 하이퍼링크를 원하는 위치에 원하는 표시 텍스트를 표시하는 하이퍼링크를 삽입하십시오. 한 가지 방법은 HYPERLINK 필드를 수동으로 삽입하는 것입니다.

    • Ctrl-F9를 사용하여 필드 코드 중괄호 { } 쌍을 삽입하세요.

    • 내부에 HYPERLINK "내 표시 텍스트"를 입력하세요.

    • 필드를 선택하고 F9를 사용하여 결과를 업데이트합니다. 결과에 원하는 텍스트가 표시되어야 합니다.

    • 다른 필드의 전체 텍스트를 선택하고 복사하세요. HYPERLINK "{ base1 }/swagger-ui.html/food-controller" { SET save1 " " }

    • HYPERLINK "내 표시 텍스트"를 선택하고 다른 코드를 붙여넣어 교체하세요.

    • 필드 값을 업데이트하십시오.

    여기에는 "B"를 읽어보면 분명해질 수 있는 한 가지 문제가 있습니다. 마지막에 설명하겠습니다.

    B. 대신 표시 텍스트를 링크 텍스트와 동일하게 만들려면 다른 방법을 사용해야 합니다.

    이 코딩을 사용했다고 가정 해 보겠습니다.

    { SET base1 "ec2-13-211-bla-bla.amazonaws.com" }
    
    { HYPERLINK "{ base1 }/swagger-ui.html/food-controller" { SET save1 " " } }
    

    그렇다면 당신이 해야 할 일은삭제"base1" 북마크를 삭제한 다음 HYPERLINK 필드를 업데이트하세요. 이 시점에서 HYPERLINK 필드 결과에 다음과 같은 오류가 표시되는 것을 볼 수 있습니다(영어 버전의 Word에서).

    Error! Hyperlink reference not valid.
    

    표시 텍스트가 재설정되는 것 같습니다. 이제 원하는 주소로 base1 북마크를 다시 만들고 모든 HYPERLINK 필드를 다시 업데이트할 수 있습니다.

    SET 필드와 REF 필드를 사용하는 경우 SET 필드를 삭제할 필요가 없습니다. SET를 SEQ로 변경합니다.

    { SET base1 "ec2-13-211-bla-bla.amazonaws.com" }
    

    에게

    { SEQ base1 "ec2-13-211-bla-bla.amazonaws.com" }
    

    그런 다음 필드를 업데이트하면 책갈피가 삭제됩니다.

    하이퍼링크를 업데이트한 후 SEQ를 다시 SET로 변경하고 주소를 수정합니다.

    { SET base1 "ec2-13-211-new-bla-bla.amazonaws.com" }
    

    그런 다음 필드를 업데이트하고 모든 HYPERLINK 필드를 업데이트합니다.

    사용자 정의 문서 속성으로 동일한 작업을 수행하는 것은 한 단계에서 속성 이름을 바꿀 수 있기 때문에 아마도 좀 더 어색할 것입니다. 가장 좋은 방법은 목록에서 속성을 선택하고 이름을 변경한 다음 추가를 클릭하는 것입니다. 이는 실제로 새로운 속성을 생성합니다. 이전 항목을 삭제하고 HYPERLINK 필드를 업데이트한 다음 돌아가서 필요한 속성 이름과 값을 다시 생성하세요.

    마지막 관찰로서, 표시 텍스트가 변경되지 않는 "A" 접근 방식이 실제로 필요한 경우 다음을 수행해야 합니다.~ 아니다"base1" 북마크의 값을 삭제하는 작업을 수행합니다. 그렇게 하면 표시 텍스트가 재설정되고 원하는 텍스트를 다시 생성하는 HYPERLINK 필드를 다시 삽입해야 할 수도 있습니다. 안좋다.

답변2

값을 설정하고 싶다면 @yokki가 말한 내용을 사용할 수 있습니다.

하이퍼링크의 경우 word는 "하이퍼링크 기반"을 제공합니다. 따라서 하이퍼링크에 "swagger-ui.html/food-controller"를 지정하면 {$hyperlink_base}/swagger-ui.html/food-controller가 필요합니다. 다른 웹사이트의 하이퍼링크를 사용하고 "하이퍼링크 기반"을 사용하고 싶지 않은 경우 전체 URL을 사용하세요.

"하이퍼링크 기반"을 설정하는 방법은 무엇입니까?

  1. "파일" 리본으로 이동
  2. 오른쪽 상단 "속성"
  3. 그것을 클릭하고 "고급 속성"을 선택하십시오.
  4. "요약" 탭에서만 마지막 필드에 "하이퍼링크 베이스"가 포함됩니다.

제 경우에는 "ec2-13-211-bla-bla.amazonaws.com"으로 설정했습니다.

따라서 전체 URL이 아닌 상대 경로를 제공한 모든 링크는

"ec2-13-211-bla-bla.amazonaws.com/swagger-ui.html/food-controller"가 필요합니다.

따라서 IP를 변경해야 하는 경우 "하이퍼링크 기반"만 업데이트하겠습니다.

관련 정보