【Word】Link域代码:Excel2Word,从Excel中链接取数并实现自动更新Word文档

1. 域代码举例

1.1. 文本

{ LINK Excel.Sheet.16 "D:\\示例\\示例.xlsx" "BS!R7C3" \a \t \* MERGEFORMAT }
  • { LINK Excel.Sheet.16 ... }:表示这是一个链接到 Excel 工作表的域;此例中,Excel.Sheet.16 表示 Excel 的版本。

  • "D:\\示例\\示例.xlsx":指定要链接的 Excel 文件的路径;

    • 需要填写完整路径,不支持相对路径;
    • 将Excel工作簿与Word文档放在同一层文件夹内,该文件夹可以更改名称或移动位置,后续打开时,Word文档内的该链接路径,会自动更新。
  • "BS!R7C3":指定 Excel 工作表的名称和单元格位置;此例中,BS 是工作表名称,R7C3 表示第 7 行第 3 列的单元格(即 C7 单元格)。

  • \a:表示自动更新 LINK 字段,删除此项参数后将需要手动更新。

  • \t:表示以纯文本格式插入链接对象。

  • \* MERGEFORMAT:表示保留链接的格式设置,以便在更新时不会丢失原有格式。

 

1.2. 数字

{ LINK Excel.Sheet.16 "D:\\示例\\示例.xlsx" "BS!R7C3" \a \t \# #,##0.00 }
  • (其他规则,同上)。

  • ……

  • \#:表示以数字格式插入链接对象。

  • #,##0.00:表示使用千位分隔符并保留两位小数(如:1,234.56);其他数字格式的代码如下:

    • 整数(如:1234),代码为:0
    • 保留两位小数(如:1234.56),代码为:0.00
    • 使用千位分隔符的整数(如:1,234),代码为:#,##0

 

提示
即使是数字格式,也推荐加入\t,它会忽略掉单元格里所有的格式(比如货币符号、加粗、颜色等),只取回原始的数值(例如 1234.56);Word拿到这个“干净”的原始数值后,再应用\# #,##0.00开关指定的数字格式,最终显示为 1,234.56

 

2. 应用举例

2.1. Excel 数据示例

 

2.2. Word LINK 域代码

 

2.3. 结果示例

 

3. 快捷键

序号 功能 快捷键
1 新建域代码 Ctrl + F9
2 切换所有域代码 Alt + F9
3 切换选中域代码 Shift + F9
4 更新选中域代码 F9

 

 

4. FAQ

4.1. Excel.Sheet.16Excel.Sheet.12

(1)原理

这里的 Excel.Sheet.16 是一个 OLE (Object Linking and Embedding) 对象的程序化标识符(ProgID),数字16主要对应于Office的内部版本号,而不是年份。

  • Excel.Sheet.16: 对应 Office 2016Office 2019Office 2021 以及 Microsoft 365。这是目前最常见的版本。这个标识符通常用于处理 .xlsx 格式的文件。
  • Excel.Sheet.12: 对应 Office 2007Office 2013
  • Excel.Sheet.8: 对应 Office 97, 2000, 2002 (XP), 2003。这个标识符主要用于处理旧的 .xls 二进制格式文件。

 

(2)判断

可以用这种方法判断应该使用哪个标识符:

  • 第1步:在Excel中,点击任意一个单元格,复制(快捷键:Ctrl+C);
  • 第2步:打开Word,选择性粘贴 → 粘贴链接 → 「Microsoft Excel 工作表 对象」→ ……
  • 第3步:切换域代码(快捷键:Shift + F9),然后就可以看到当前Excel对应的标识符了。

 

(3)推荐做法

这个标识符是向下兼容的,一般情况下使用 Excel.Sheet.12即可,高版本的Office打开,也可以正常识别。

如果你将 Excel.Sheet.16 手动改为 Excel.Sheet.12,你实际上是在告诉Word:“请尝试使用Office 2007的程序接口来处理这个链接”,一般情况下能够正常运行。

 

5. 参考资料

评论

  1. 2 周前
    2025-8-05 11:35:58

    {LINK Excel.Sheet.16 “E:\01 项目\域链接\域 11.xlsx” “abcdI!R7C3” a # #,##0.00 } 老师,怎么报错呢是哪里的问题呢

    • 博主
      2 周前
      2025-8-05 12:49:16

      微信公众号私信沟通看看:点击查看

  2. 王 浙江清瑞事务所
    已编辑
    2 周前
    2025-8-01 16:57:28

    发现货币链接到word里前后就没有空格了,数值、数字格式就会有空格,一刷新又出来了。

    • 博主
      王 浙江清瑞事务所
      2 周前
      2025-8-01 17:44:41

      如果是数字的话,用这种格式:

      { LINK Excel.Sheet.16 "D:\\示例\\示例.xlsx" "BS!R7C3" \a \# #,##0.00 }

      把 纯文本方式插入 改为 自定义数字格式化方式插入:

      { ... \# #,##0.00  }
      • 王 浙江清瑞事务所
        毛燕庆
        2 周前
        2025-8-04 14:37:13

        真的很实用,谢谢毛老师( ̄︶ ̄)↗ 

        • 博主
          王 浙江清瑞事务所
          2 周前
          2025-8-04 14:47:35

          🎉祝审运亨通

  3. 功夫猴
    9 月前
    2024-11-29 11:00:06

    很实用!

  4. 孤雪凉城
    9 月前
    2024-11-07 10:14:12

    如何做
    excel和word的位置都变了,excel中的数字变了,word中的链接也跟着变动呢

    • 博主
      孤雪凉城
      9 月前
      2024-11-07 10:16:19

      Word文档与Excel工作簿,放在同一层文件夹内,该文件夹可以改名字、更换路径。

      • 孤雪凉城
        毛燕庆
        9 月前
        2024-11-07 10:23:56

        那要是在一级文件夹中设置的,在使用时放到具体的项目了,Word文档与Excel工作簿在二级文件夹中,如何更新链接呢

        • 博主
          孤雪凉城
          9 月前
          2024-11-07 10:27:29

          方法1、Word文档与Excel工作簿两者放到同一个二级文件夹里,链接会自动更新;
          方法2、在Word文档中切换所有域代码(Alt + F9),批量替换其中的Excel工作簿路径。

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇