outlook:「本文に特定の単語がある」は、メールの会話履歴では機能しません
たとえば、メールを受信するたびに特定の単語がないか本文をScanして、特定のカテゴリを与えるなどのアクションを実行するというルールを作成したいとします.
これはルールウィザードで問題なく機能しますが、問題は、その電子メールが一連の電子メールの一部である場合に発生します.ルールを最新のものにのみ適用したい チェーンの.ルールで「hi rasmus」をScanするとします.ジョンは、「Hi Rasmus」で始まるメールを私に書きます.その後、分類されます.問題ありません.
その後、私は彼に返信します.
その後、彼は返信しますが、返信のどこにも「こんにちはrasmus」と記載されていません.それ
会話履歴全体をScanするため、
まだ分類されます.
これは、共有メールを使用し、カテゴリを使用して自分自身または同僚にメールを割り当てる場合の問題です.
ここでの回避策は何ですか?
返信リスト(回答:8)
残念ながら、ルールだけでは新しいテキストを取得したり、引用されたメッセージをスキップしたりすることはできません.
Outlookデスクトップソフトウェアを使用している場合は、マクロを使用してこれを実行できます.ただし、Windows上のOutlookデスクトップソフトウェアでのみ機能し、Web上のOutlookでは機能しません.
応答1# ->にスキップ2 #RasmusHこんにちはDiane
私はこれにVBAを使用する必要があるかもしれません.私は
のようなものと仕事をすることができなかったプライベートサブApplication_Newmail()
item.body= "こんにちはrasmus"
カテゴリ.「rasmus」
の場合終了終了SUB
私は正確なコードを覚えていませんが、それを仕事にすることができなかったのでそれを与え、構文を理解できなかったのでそれを与えました.私はExcelでVBAを使ってたくさん働いていましたが、私は彼らがどのように働いていて、Outlookで操作されているのでしょう.
コードはどのように見えますか?私はデスクトップアプリを使っています.
それよりもはるかに多くのコードが必要です.:)私はコードサンプルを持っています-近いものを見つけることができるかどうかを確認します.
タグを付けるだけでよい場合は、スクリプトルールの実行を使用できます.ルールを使用して条件を検索し、スクリプトを使用してテストします.これは、スクリプトの実行がどのように機能するかを示しています.本体をチェックするためにコードを記述するだけです.
https://www.slipstick.com/outlook/rules/outlook...
「rasmus」(または「hi rasmus」)が最初の10文字以内(または適切な低さ)になると予想される場合番号)instr関数を使用します.
if instr(1、item.body、 "rasmus")<10 then
item.categories.add( "Rasmus")
end if
ETA:
これは私にとってより効果的です-
If InStr(1、Left(Item.Body、20)、 "diane"、1)<>0 Then
応答3# ->にスキップ4 #RasmusH私はregeditでスクリプトの実行ルールを再設定するように管理しており、私のコードは次のとおりです:
Public Sub AutoCat(Item As Outlook.MailItem)
If InStr(1、Left(Item.Body、10)、 "rasmus"、1)<>0 Then
Item.Categories="Rasmus"
End IfEnd Sub
私も試しました:
- あなたのversionwithitem.categories.add( "Rasmus")
- モジュールを使用する
- ThisOutlookSessionを使用する
- Outlookを再起動する
しかし、それは割り当てません:(
応答5# ->にスキップ6 #RasmusHこれまでのところ、私はそれを働かせました、しかし複数のIFSを作る代わりに、私は複数のエントリを使って変数を作ることを考えていました.このようなものはありますか?
x= "Hir Rasmus"または "Hello Rasmus"
if instr(1、左(項目、10)、x、1)<>0 item.categories= "rasmus" item.save の場合は終了しますと見通しも始めるときにそれを実行することは可能です.
プライベートサブApplication_Startup()
薄暗いnewmail
X=「こんにちはrasmus」または「こんにちはrasmus」
受信トレイ
の各Newmailの場合newmail.categories= ""
IF instr(1、左(item.body、10)、x、1)<>0
item.categories= "rasmus"
item.save
の場合終了
の場合終了
次の
end sub
応答7# ->にスキップ8 #RasmusH私は今フルコードを作っていて、私が自分のEメールでテストするときに機能しますが、共有された電子メールで作業する必要があります.これを含めるコードの変更を試みました:
DIM NSとしてネームスペース
薄暗い項目
DIM受信箱Mapifolder
Outlook.RecipientとしてのDim Olsharename
set ns= getNamespace( "mapi")
inbox= ns.getShareddeFaultFolder(Olsharename、OlfolderInbox)
しかし、ルールはまだ燃えません.私はそれが言っているから(クライアントのみ)と私のITの男はそれがウェブメールを通して行う必要があると私たちは最初に戻ってきたとき、私たちはあなたが私にWebメールの規則を知らせたときに、私たちは最初に戻ってきました.できません
「スクリプトを実行する」右?ここで共有Eメールを追加しようとしました:
VBAが共有された電子メールを見ることができないことを読んでください.しかし、私はパスワードの入力を求められていて、なしがあります.私はそれが会社の政策のことかもしれないと思います.