
提供されているVBAコードに変更を加えることはできますか?この応答以前の投稿から、すべてのメールを転送するのではなく、特定のメールアドレスからのメールのみを転送する機能はありますか?基本的には、Outlookの自動転送ルールを模倣し、[メールアドレス]送られますか?
私は、*サーバーの自動転送の無効化をバイパスする* ために、いくつかの VBA スクリプトを作成しました。基本的に、サーバーが自動転送を行うのではなく、ユーザーが電子メールを転送することを模倣します。詳細な手順を説明することはこの投稿の範囲を超えていますが、要約は次のとおりです。
OutlookのVisual Basicエディタで上記のコードを追加します(Alt-F11で開始できます)。[メールアドレス]メールを送りたい住所に
Outlook に、受信メッセージごとにこのコードを実行するように指示します ([ツール] -> [仕分けルールと通知] -> [新しいルール] -> [メッセージが到着したら確認する] -> [次へ] -> [はい] -> [スクリプトを実行する] チェックボックス -> 作成したスクリプトを選択します)。
これで、Outlook は受信した各メールを自動的に転送するようになりますが、管理者によって「自動転送」としてブロックされることはありません。
コード:
Sub AutoForwardAllSentItems(Item As Outlook.MailItem)
Dim strMsg As String
Dim myFwd As Outlook.MailItem
Set myFwd = Item.Forward
myFwd.Recipients.Add "[email protected]"
myFwd.Send
Set myFwd = Nothing
End Sub
答え1
if
を使って文を追加してみましょう送信者アドレス-
Sub AutoForwardAllSentItems(Item As Outlook.MailItem)
Dim strMsg As String
Dim myFwd As Outlook.MailItem
Set myFwd = Item.Forward
If myFwd.Sender = "[email protected]" then
myFwd.Recipients.Add "[email protected]"
myFwd.Send
End if
Set myFwd = Nothing
End Sub
あるいは、もっと簡単な方法は、ルールを設定する:
Outlook に、受信メッセージごとにこのコードを実行するように指示します ([ツール] -> [仕分けルールと通知] -> [新しいルール] -> [メッセージが到着したら確認する] -> [次へ] -> [はい] -> [スクリプトを実行する] チェックボックス -> 作成したスクリプトを選択します)。
Outlookにコードを実行するように指示するだけですメッセージが特定のアドレスから送信された場合。