0

我正在尝试在 Outlook 2010 联系人视图上创建一个右键菜单,该菜单返回联系人的所有电话号码

我已经输入了以下 XML:

<contextMenu idMso="ContextMenuContactItem">
  <button id="MyContextMenuContactItem"
      imageMso="AutoDial"
      label="Click to dial"
      onAction="OnMyButtonClick"/>
</contextMenu>

当我右键单击时,这会正确显示联系人列表上的右键单击项目。到目前为止,我已将以下代码添加到 onAction:

Public Sub OnMyButtonClick(ByVal control As Office.IRibbonControl)
    Dim card As Office.IMsoContactCard = TryCast(control.Context, Office.IMsoContactCard)
    If card Is Nothing Then
        MsgBox("Nothing")
    Else
        MsgBox("We have a card")
    End If
End Sub

问题就在这里——我总是一无所获。例如,理想情况下,我需要获得“商务电话”。

4

1 回答 1

0

下面是一些 C# 代码,用于访问您在联系人文件夹中选择的 ContactItem 对象。我知道你的是 VB,但由于它们都可以访问相同的对象模型,所以应该只是改变语法的问题。

public void OnMyButtonClick(Office.IRibbonControl control)
{ 
    if (control.Context is Outlook.Selection)
    {
        Outlook.Selection selected = control.Context as Outlook.Selection;

        var x = selected.GetEnumerator();
        x.MoveNext();
        if (x.Current is Outlook.ContactItem)
        {
            Outlook.ContactItem card = x.Current as Outlook.ContactItem;
            Debug.Print(card.FirstName + "'s phone number: " + card.BusinessTelephoneNumber);
        }
    }
}
于 2013-03-20T02:06:10.220 回答