0

職場の誰かが、入力できるいくつかのパラメータに基づいてOutlookテンプレートメールを送信するための簡単なシステムを実装できるかどうか私に尋ねました。

例は次のようなメッセージです:

"Hello,

Please be informed that system **Parameter1** is current down.

Regards,"

Outlook VBAでフォームを作成して、特定のテンプレートでパラメーター(たとえば@@parameters@@)のようなスタイルの文字列が見つかった回数を動的に検索し、見つかったパラメーターごとにフォームに編集ボックスを作成することを考えていました。

問題は、明らかに受信者用のボックスを追加したいということです。Outlookのアドレス帳を呼び出して、そのように動作させる方法を見つける必要があります。これは私が思っていたほど直感的ではありませんでした。これまでのところ、私は次のことしかできませんでした。

Dim snd As Outlook.SelectNamesDialog
Dim displayLL As Boolean

Set snd = Application.Session.GetSelectNamesDialog()
snd.NumberOfRecipientSelectors = Outlook.OlRecipientSelectors.olShowTo
snd.AllowMultipleSelection = True
displayLL = snd.display()

ご覧のとおり、これはアドレス帳をポップアップするだけで、いくつかのアドレスを選択できます。しかし、通常のOutlookメールの「To:」および「CC:」フィールドのように実際に機能するいくつかのフィールドを実際に作成する方法に困惑しています。

4

1 に答える 1

0

最終的にまったく別のルートをたどったことを考えると、これがどれほど関連性があるかはわかりませんが、誰も答えなかったので、これを追加すると思いました.

%AppData% のテンプレート フォルダーを検索して、すべてのテンプレートを一覧表示するフォームを作成しました。次に、パラメーター スタイルの文字列を探してメール全体をループし、そのような文字列に遭遇するたびに (単に入力ボックスを介して) 目的の値を要求します。カスタムの「受信者」ボックスを追加する代わりに、パラメーターが正しく入力された新しいメールを単純に開きました。その後、ユーザーは通常どおりメールに受信者を追加するだけで済み、これで問題ありませんでした。そうすることで、彼はメールが本当に自分が望んでいた通りに見えるかどうかを再確認することもできました.

7 歳の子供ができないような派手なことは何もありませんが、うまくいきます。

于 2012-06-08T08:52:44.623 に答える