我正在尝试在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
问题出在这里 - 我一无所获。例如,理想情况下,我需要以“商务电话”为例。
答案 0 :(得分:0)
以下是一些访问您在“联系人”文件夹中选择的ContactItem对象的C#代码。我意识到你的是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);
}
}
}