我确实向该超链接上下文菜单添加了一个新的菜单项。现在我需要找到我右键单击的超链接。
我得到的是来自 Office.IRibbonControl.Context 的整个电子邮件项目,它是一个带有一个选择的 Outlook.Explorer。选择结果是一个 OutlookItem。
它确实有一个电子邮件正文。但我里面可能有多个超链接。它必须是一种获取超链接的方法,因为其他菜单项可以:打开、选择、复制超链接。
有任何想法吗?
星期天过去了,对不起。但是我遇到了同样的问题并找到了以下解决方案:
public void OnCustomHyperlinkMenuClick(IRibbonControl control)
{
Explorer explorer = control.Context as Explorer;
if (explorer != null)
{
Document document = explorer.ActiveInlineResponseWordEditor;
if (document != null && document.Windows != null && document.Windows.Count > 0)
{
Microsoft.Office.Interop.Word.Selection selection = document.Windows[1].Selection;
if (selection != null && selection.Hyperlinks != null && selection.Hyperlinks.Count > 0)
{
Hyperlink hyperlink = selection.Hyperlinks[1];
string hyperlinkUrl = hyperlink.Address;
DoSomethingWithUrl(hyperlinkUrl);
}
}
}
}
您需要在 Outlook 添加项目中添加对 interop 程序集“Microsoft.Office.Interop.Word.dll”一词的引用。