如何在其他程序中使用outlook:<long hex number>格式的Outlook URL打开指定项目
如何在其他程序中使用outlook:格式的Outlook URL打开指定项目
嗨,这个需求我之前实操过,其实只要Outlook已经运行且加载了对应的.pst文件,在其他程序里调用这种Outlook URL的方法挺灵活的,给你分几种场景说说:
命令行/脚本环境
直接用系统的协议唤起功能就行。比如在Windows命令提示符里,输入:start outlook:<你的十六进制编号>
要是用脚本语言的话,比如Python可以这么写:import os os.startfile("outlook:<你的十六进制编号>")C#里则可以调用
Process.Start("outlook:<你的十六进制编号>"),只要系统识别outlook:这个协议,就能直接唤起Outlook打开对应项目。办公软件(Word/Excel/PowerPoint等)
直接插入超链接就行。选中文本或者对象,右键选择「超链接」,在地址栏里填入outlook:<你的十六进制编号>,确定后点击这个链接,Outlook就会自动打开对应的邮件/日历项。本地网页/桌面Web应用
如果你是做本地运行的网页或者桌面端Web应用,直接用HTML的超链接标签:<a href="outlook:<你的十六进制编号>">打开对应的Outlook项目</a>
只要Windows系统里Outlook是默认的邮件客户端,点击这个链接就会触发协议调用,打开目标项目。
另外还有几个要注意的小细节:
- 尽量确保Outlook已经处于运行状态,虽然没运行时系统也会启动Outlook,但加载.pst文件可能需要一点时间,容易出现找不到项目的提示;
- 那个十六进制编号必须是当前Outlook加载的.pst文件里存在的项目,不然Outlook会弹出「找不到项目」的错误;
- 要是遇到某些程序对URL格式校验严格(比如过滤掉非http/https前缀的链接),可以试试用系统的协议处理器强制唤起,命令是:
rundll32 url.dll,FileProtocolHandler outlook:<你的十六进制编号>
备注:内容来源于stack exchange,提问作者Gerhard
相关产品推荐
相关产品推荐

