2

VSTO を使用して、Outlook 2013 にメール用のカスタム ウィンドウがあります。に添付ファイルを一覧表示し、添付ファイルListViewに対して変換操作を実行できるようにします。

ここに画像の説明を入力

ユーザーは通常、添付ファイルを押すと、選択した添付ファイルのプレビュー ペインが表示されます。ListViewで一致する添付ファイルが選択されときに、そのプレビュー アクションを複製する必要があります。これにより、添付ファイルを 1 つ選択し、プレビューを表示してから、カスタム パネルと添付ファイルの通常のリストの間を行き来することなく、ドキュメントの種類 (ID ドキュメント、履歴書など) を選択できます。

私はさまざまな用語をグーグルで検索しましたが、これはわかりにくいようです。どこから始めればよいかを知っている Outlook 2013 VSTO の専門家がそこにいることを願っています。はInspector.AttachmentSelection出発点ですが、読み取り専用です。

私の C# 選択変更ハンドラーを以下に示します (簡略化するためにすべてのエラー チェックを削除しました)。

private void listview_SelectedIndexChanged(object( sender, EventArgs e)
{
     ListView listView = sender as ListView;
     ListViewItem listViewItem = listView.SelectedItems[0];
     Attachment attachment = lvi.Tag as Attachment;
     Inspector inspector = Globals.ThisAddIn.Application.ActiveInspector();

     // How to preview the attachment in the inspector???
}

アップデート:

フォールバックとして、Inspector.AttachmentSelectionChange以下に示すようにイベントをキャッチして my 内のアイテムを選択することで、別の方法に進むこともできますが、 my から添付ファイルを選択してを変更ListViewできるようにしたいと考えています。ListViewAttachmentSelection

    void inspector_AttachmentSelectionChange()
    {
        this.attachmentListView.SelectedItems.Clear();
        foreach (Attachment selection in this.Inspector.AttachmentSelection)
        {
            foreach (ListViewItem item in this.attachmentListView.Items)
            {
                if (item.Tag as Attachment == selection)
                {
                    item.Selected = true;
                }
            }
        }
    }
4

1 に答える 1

0

残念ながら、Outlook オブジェクト モデル (または Redemption) には、選択した添付ファイルを設定できるものはありません。

ただし、一部の Win32API コマンドを使用して選択し、添付ファイル セレクタ領域にフォーカスを設定できる場合があります。Spy++ を使用すると、特定のウィンドウ ハンドル (0007096E; AfxWndW) があることがわかります。そのウィンドウがアクティブになると、TAB キーストローク コマンドを発行して添付ファイルを選択できます。特定の添付ファイルをアクティブにする方法はわかりません。TAB は、そのウィンドウで使用されている唯一のキーボード コマンドのようです。

于 2014-10-22T14:52:04.340 に答える