2

私は Outlook (MS Exchange) を使用しており、個人の受信トレイと 2 つのグループの受信トレイを持っています (グループの受信トレイにもアクセスできる個人プロファイルでログインして作業しています)。

電子メールを送信するとき、フィールドで個人または 2 つのグループの電子メール アドレスのいずれかを選択しましたFrom。電子メールが送信されたら、使用した電子メール アドレスに応じてmyIndividualMailbox、 、groupAMailbox、またはの受信トレイにコピーが保存されるようにします。groupBMailboxFrom

例: From groupA@myCompany.comという電子メールを送信した場合、その電子メールのコピーを の受信トレイgroupAMailbox(個人の受信トレイではなく)に保存する必要があります。

これは、Outlook でルールを設定することでは不可能ですが、 VBA マクロを使用すると可能であることがわかりました。VBA マクロの書き方がわからず、これが単なる短いスクリプトなのか、それとももっと複雑なスクリプトなのかわかりません。実際、私は Outlook でマクロを作成したことがないため、どのように開始すればよいかさえわかりません。誰でもこれを行う方法を示すことができますか?

この質問で解決策を探し始めました: Outlook send-rule that filter on the 'From' field

4

2 に答える 2

1

私が知る限り、私はあなたのためにこれを作りました、それはうまくいきます。これを Microsoft Outlook オブジェクト - ThisOutlookSession モジュールに入れる必要があります。

最初myolApp_ItemSendに実行しない限り、イベントはトリガーされないことに注意してください。enableEventsまた、再度開いた Outlook を閉じるたびに有効になっていることを確認する必要があります。これには多少のカスタマイズが必要ですが、一般的なアイデアが得られるはずです。

Option Explicit
Public WithEvents myolApp  As Outlook.Application

Sub enableEvents()
    Set myolApp = Outlook.Application
End Sub

Private Sub myolApp_ItemSend(ByVal item As Object, Cancel As Boolean)
    Dim items As MailItem
    Dim copyFolder As Outlook.Folder
    Dim sentWith As String
    'Identify sender address
    If item.Sender Is Nothing Then
        sentWith = item.SendUsingAccount.SmtpAddress
    Else
        sentWith = item.Sender.Address
    End If

    'Determin copy folder based on sendAddress
    Select Case sentWith
        Case "groupA@myCompany.com"
            'get groupAMailbox's inbox
            Set copyFolder = Application.GetNamespace("MAPI").folders("groupAMailbox").folders("Inbox")
        Case "myE-mailAddress"
            'get My inbox
            Set copyFolder = Application.GetNamespace("MAPI").folders("myE-mailAddress").folders("Inbox")
    End Select

    'copy the Item
    Dim copy As Object
    Set copy = item.copy
    'move copy to folder
    copy.Move copyFolder

End Sub

編集:実際にイベント機能を Outlook の Application オブジェクトに直接組み込んでいるように見えますが、テストからは、上記で概説したことを行う必要があります。

于 2012-09-07T16:01:39.263 に答える
0

Outlook は、すべての送信済みアイテムを既定の送信済みアイテム フォルダーに保存します。ただし、パッチを適用して送信済みアイテムを独自のフォルダーに保存することはできます。 http://support.microsoft.com/kb/2181579

于 2013-07-15T18:12:51.623 に答える