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

連絡先フォルダーで選択した 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);
        }
    }
}
于 2013-03-20T02:06:10.220 に答える