AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1510087
Accepted
P Satish Patro
P Satish Patro
Asked: 2019-12-15 19:37:12 +0800 CST2019-12-15 19:37:12 +0800 CST 2019-12-15 19:37:12 +0800 CST

将变量存储在 MS Word 中并在应用程序中用于超链接中的变量?

  • 772

我有一个场景,我提供了20多个VM 的超链接。因此,如果 VM 的IP 发生更改,我需要在整个文档中手动更改。有什么方法可以存储变量,例如

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

所以,我可以给{vm_ip}/swagger-ui.html/food-controller,而不是给超链接ec2-13-211-bla-bla.amazonaws.com/swagger-ui.html/food-controller

像这样的东西。我正在研究宏,但它令人困惑,不知道它是如何工作的。

microsoft-word microsoft-office
  • 2 2 个回答
  • 846 Views

2 个回答

  • Voted
  1. Best Answer
    user1116187
    2019-12-16T04:40:29+08:002019-12-16T04:40:29+08:00
    1. 这可能比看起来要复杂得多,这就是为什么这个答案相当长的原因。有一些关键的事情要理解,还有很多步骤。IMO 这不是您可以依靠最终用户正确完成的事情,至少在没有一套非常好的说明的情况下是这样。就个人而言,我认为这是一项“编程”任务,而且由于它不是任何人都可能经常做的事情,我会说它仍然需要一套好的指令。

    2. 如果您只希望这些超链接在 Word 中工作,则主要有两种可能性,具体取决于您希望这些超链接只是文本还是活动超链接。

      如果您想将它们插入 Word,以便在将文档另存为 HTML 或 PDF 时它们可以工作,则此答案不涵盖该内容,您应该修改您的问题以包含该要求。此外,此处描述的字段编码只能在 Word 的桌面版本中使用(它也可以在 Web 或“设备”版本之一中使用,但我上次查看时,这些版本并不能很好地与字段代码一起使用。

    3. 因此,如果您希望这些链接是 Word 中的文本,Word 不会将其视为活动链接(例如,它们可能在您的文档中,以便人们可以将链接文本复制到其他地方),那么您可以使用 SET 和书签来执行此操作字段。

      例如,如果您只有一个“基本”地址,例如“ec2-13-211-bla-bla.amazonaws.com”,您可以在许多地方重复使用,也许还有其他地址信息,您可以使用

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

      在文档的开头(实际上,在第一页页眉中可以更安全地放置它以避免意外删除)。然后按照您给出的示例,您需要一个 REF 字段:

      { REF base1 }/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 中,

      一个。转到文件->信息

      湾。单击“属性”下拉列表(在右侧列的顶部)

      C。单击高级属性

      d。单击自定义选项卡

      e. 在文本框中,键入“base1”

      F。在类型框中,确保选择“文本”

      G。在值框中,键入 ec2-13-211-bla-bla.amazonaws.com

      H。确保未选中“链接到内容”框

      一世。点击确定

      然后链接所需的字段编码是

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

      要更新链接,您将返回自定义属性对话框,更改 demo1 属性的值,然后选择文档文本并更新文档中的所有字段(再次按 ctrl-A,F9)。

      如果您有几个不同的“基本地址”,那么您需要几个 SET 字段或几个自定义文档属性,例如称为 base1、base2、base3 或其他。

    4. 如果您想要一个可点击的超链接字段,那么它会变得有点复杂,因为您必须将 REF 字段嵌套在 HYPERLINK 字段中,如下所示:

      { 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 "save{ SEQ save }" " " } } { HYPERLINK "{ base1 }/swagger-ui.html/something-else" { SET "保存{ 序列保存}" " " } }

      (注意,我相信这个想法起源于这里。它依赖于“技巧”这一事实意味着微软可以很容易地通过改变软件来破坏它,但它目前似乎有效。)

      如上所述,您应该能够对 { 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
  2. P Satish Patro
    2019-12-16T05:22:48+08:002019-12-16T05:22:48+08:00

    如果只是想设置值,那么可以使用@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,我只会更新“超链接库”。

    • 1

相关问题

  • 在word中编辑模板以删除难看的空格

  • Microsoft Word - 如何减小所有样式的文本大小

  • 修复损坏的固定 Microsoft Word 图标

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    Windows 10 服务称为 AarSvc_70f961。它是什么,我该如何禁用它?

    • 2 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Marko Smith

    ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1056)

    • 4 个回答
  • Marko Smith

    我如何知道 Windows 安装在哪个驱动器上?

    • 6 个回答
  • Martin Hope
    Albin 支持结束后如何激活 WindowsXP? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 “HTTPS Everywhere”仍然相关吗? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch Windows 10 删除大量小文件的速度非常慢。有什么办法可以加快速度吗? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Ctrl+C 和 Ctrl+V 是如何工作的? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve