OutlookオブジェクトモデルでC#を使用しています(ライセンスのため、償還はオプションではありません)。電子メールメッセージを送信する前にプログラムで暗号化するのに問題があります。
暗号化ボタン(オンラインの例ではId 718)を表すと思われるCommandBarButtonへの参照を正常に取得できますが、プログラムで押すことはできません。CommandBarButton Execute()メソッドとSendKeysの両方を使用してみました(このコンテキストでsendkeysが有効かどうかはわかりません)。すべてのdebug.writelineステートメントは、ボタンがmsoButtonUp状態にあることを示しています。
私はこれで何日も遊んでいて、それを機能させることができないようです。アドバイスをいただければ幸いです。
Outlook.MailItem emailToSend;
...
Microsoft.Office.Core.CommandBarButton cbb = null;
cbb =(CommandBarButton)emailToSend.GetInspector.CommandBars["Standard"].FindControl(Type.Missing, 718, Type.Missing, true, false);
if (cbb != null) {
//it is not null in debugger
if (cbb.Enabled) {
//make sure digital signature is on
cbb.Visible = true;
Debug.WriteLine("State was: " + cbb.State.ToString()); //all debug calls return msoButtonUp
cbb.SetFocus();
SendKeys.SendWait("{ENTER}");
Debug.WriteLine("State was: " + cbb.State.ToString());
SendKeys.SendWait("~");
Debug.WriteLine("State was: " + cbb.State.ToString());
cbb.Execute();
Debug.WriteLine("State was: " + cbb.State.ToString());
}
}