2017-11-03 11 views
1

プログラミングやスクリプティングは初めてですが、自動化したいOutlookのタスクがあります。本文の本文に応じてOutlookの電子メールの件名を変更してください

基本的に私たちは「[SITENAME]の警告 - アップリンク・変更ステータスが」主題と私たちのベンダーの1のシステムから電子メールアラートを取得している、どこで電子メールの本文には、次の2つのテキスト文字列の1つが含まれます:

「セキュリティをアプライアンスはインターネット2をアップリンクとして使用するように切り替えました。

または

は、「セキュリティアプライアンスは、そのアップリンクとしてインターネット1を使用してに切り替えました。」

今は、アップリンクがアップまたはダウンしているかどうかを確認するために各電子メールを読む必要があり、これを直接被験者から見えるようにする必要があります。

私は、次のコード用意しましたが、それは働いていない:

Sub changesubject() 

Dim myMessage As Outlook.MailItem 
Set myMessage = Outlook.ActiveInspector.CurrentItem 

If myMessage.Body = "Internet 2 as its uplink" then 
    myMessage.Subject = myMessage.Subject & "- PRIMARY LINK DOWN" 
End If 

If myMessage.Body = "Internet 1 as its uplink" then 
    myMessage.Subject = myMessage.Subject & "- PRIMARY LINK UP" 
End If 

End Sub 

誰かが私は自分のコードに欠けているものを指摘していただけますか?ありがとう!

+0

InStr関数(「そのアップリンクとして、インターネット2」myMessage.Body、)もし回答のため、その後 – niton

+0

感謝を取得します!私は今、以下のコードを持っていますが、まだ動作していません。 サブchangesubject() 薄暗いmyMessage Outlook.MailItem セットmyMessage = Outlook.ActiveInspector.CurrentItem 場合InStr関数(myMessage.Body、 "そのアップリンクとしてインターネット2")次に myMessage.Subject = myMessage.Subjectとして& " - プライマリリンクのDOWN" END IF 場合InStr関数そして myMessage.Subject = myMessage.Subject&(myMessage.Body、 "インターネット1のアップリンクとして") " - プライマリリンクのUP" END IF End Subの – Tabell

+0

これはおそらく「保存」です。新しい情報/コードで質問を編集できます。 – niton

答えて

0

=の代わりにIfの文でLikeを使用してください。 Thisは、Like演算子の仕組みを説明しています。また、Google、「VBAのように」することができますし、より多くの結果

Sub changesubject() 

Dim myMessage As Outlook.MailItem 
Set myMessage = Outlook.ActiveInspector.CurrentItem 

If myMessage.Body Like "*Internet 2 as its uplink*" then 
    myMessage.Subject = myMessage.Subject & "- PRIMARY LINK DOWN" 
End If 

If myMessage.Body Like "*Internet 1 as its uplink*" then 
    myMessage.Subject = myMessage.Subject & "- PRIMARY LINK UP" 
End If 

End Sub 
+0

ありがとうございますが、これを実行すると何も起こりません。私はOutlookのメインウィンドウにあるので、これを実行したいメールを選択しました。しかし、メールの件名は同じままです。 – Tabell

+0

'Like'は大文字と小文字を区別します。電子メールの本文に「アップリンクとしてのインターネット2」または「アップリンクとしてのインターネット1」がない場合は、正確にどのように書かれているのですか? 'Like 'を短いものに変換します。たとえば' If myMessage.Body Like "* nternet 2 *" Then'。しかし、それはちょうど電子メールの本文に書かれているものに依存しています。私はあなたの与えられた例を使用したとき、私のために完璧にうまくいっていました@ Tabell –

+0

@Tabell ActiveInspector.CurrentItemは選択項目ではない空のアイテムです。 – niton

関連する問題