我们的票务系统有一个按钮,您可以按下该按钮将您正在查看的票务的 URL 复制到剪贴板。但是,如果您将其粘贴到电子邮件中,您将获得完整的、非常长的 URL,很难从中找出票号。我们的用户喜欢票号。他们不喜欢长而丑陋的链接。所以这个巧妙的功能很少被使用。
我想对其进行修改,以便从剪贴板粘贴到电子邮件中的是指向票证的超链接,但该超链接具有友好名称,即票证号码。我真的不知道从哪里开始。我尝试将 URL 包装在 HTML 锚标记中,但粘贴到 Outlook 中的是完整标记而不是命名的超链接。发送后也不会转换。我所知道的是,如果电子邮件中已经有一个具有友好名称的超链接,您可以将其复制到另一封电子邮件中,它将像您复制它一样粘贴。但如果您将相同的链接粘贴到文本编辑器中,您得到的只是友好名称(没有 URL)。
我在网上搜索线索时运气不佳。所有搜索结果都是关于如何创建/复制超链接至 Outlook。因此,要么是我搜索中需要的关键字太过笼统,要么是我尝试做的事情根本无法实现。有人知道这是否是徒劳无功吗?
我们使用 O365,但大多数用户通过桌面客户端工作。
TLDR:有没有一种方法可以格式化文本,以便当粘贴到 Outlook 中时,它会显示为带有友好名称的超链接。
答案1
大致步骤如下:
- 安装Autohotkey,有有便携式版本如果您无法在机器上安装任何东西。
- 下载 WinClip.ahk 和 WinClipAPI.ahk 文件并将它们放在您可以找到的地方。
- 创建一个
.ahk
脚本,内容如下:#Include c:\path\to\WinClipAPI.ahk #Include c:\path\to\WinClip.ahk ; Create a keyboard shortcut for CTRL+ALT+C ; Feel free to alter the keys as you desire ^!c:: ; Clear the current clipboard contents clipboard := "" ; Copy the selected text to clipboard Send ^c ; Wait until clipboard contains data ClipWait ; Set the display text. I assume you can derive this from the URL in ; the clipboard by taking a substring from it, but perhaps you need another method start := 1 ; position where ticket number starts length := 8 ; length of ticket number display_text := SubStr(clipboard, start, length) full_url := clipboard html_path := "<a href=" . full_url . " >" . display_text . "</a>" ; Set the plaintext and HTML clipboard value WinClip.SetText( full_url ) ; this is the plain text value WinClip.SetHTML( html_path ) ; this is the HTML formatted value
.ahk
使用脚本作为参数启动 Autohotkey ,例如:C:\path\to\Autohotkey.exe C:\path\to\script.ahk
- 这将在工具栏中启动 Autohotkey 脚本。现在,当您选择 URL 并按CTRL+ ALT+时C,您将能够在 Outlook 中粘贴格式化的链接(如果它是 HTML 电子邮件)。
可能比较难的部分是从 URL 中提取票号(您的问题中没有说明如何存储票号)。如果比较简单,https://www.ticket-system.com/T12345678
您可以像我的示例一样,通过字符位置轻松获取 URL 的子字符串。
但是,如果 URL 比较复杂且部分发生变化(例如https://ticket-system.com/some-category/T12345678
和https://ticket-system.com/some-category-other/sub-category/T12345678
),则需要做更多工作来提取要显示的票号。