python - win32com (Python):将相同的超链接添加到 Microsoft Word 中相同文本的多个实例
问题描述
我在 Python 中使用 win32com 向文档添加超链接。在极少数情况下,一段文本会出现多次,因此需要多次超链接。我的理解.Hyperlinks.Add()
是“懒惰”,并且仅超链接找到的第一个实例。我想知道是否有一种方法可以超链接所有实例,也许是通过动态移动范围,每个新范围从文本的最后一个实例结束的地方开始?或者也许有更简单的方法?我一直在使用的代码如下。谢谢你的帮助。
import win32com.client
from os import path
for link_text in hyperlink_dict:
wordapp = win32com.client.Dispatch("Word.Application")
wordapp.Documents.Open(os.path.join(save_folder, doc_version))
doc = wordapp.ActiveDocument
doc_range = doc.Range()
docText = doc.Content.text
if wordapp.Selection.Find.Execute(FindText=link_text) == True:
doc_range.Hyperlinks.Add(Anchor=wordapp.Selection.Range, Address=hyperlink_dict[link_text])
解决方案
推荐阅读
- php - 碳 12 屋格式
- python - 给定两列的设置值
- c - 解码后的音频数据如何存储在 ffmpeg AVFrame 中?
- vba - 如何更改 PowerPoint 2016 VBA 中 SlideMaster.Height 的值?
- oauth-2.0 - IdentityServer 3 返回 invalid_client
- sql - 防止在列中插入空格的最小长度约束
- c# - 通过 S-BUS 协议从 RadioLink R12DS 接收器读取数据
- python - Python:为什么我的“if”语句会错误地评估数字?
- ios - 如何快速找到 QuadCurve 和 Line UIBezierPaths 之间的交点(CGPoint)?
- javascript - 滚动到顶部后停止向下滚动