回答編集履歴

1 (追記)

jawa

jawa score 2975

2017/02/01 09:35  投稿

やりたいことがイマイチ掴みきれません。
・マクロを実行したときにメールを開き、そのメールの内容によって続けて何らかの処理をしたい?
・Outlook上でメールを受信した時に、メールの内容を判断して何らかの処理を行いたい?
・Outlook上でメールを開く操作をした時に、メールの内容を判断して何らかの処理を行いたい?
もう少しやりたいことを具体的に書いていただけると助かります。
また、既に作成されたというコードと今回やりたいことの関連性についても補足いただけると助かります。
また、既に作成されたというコードと今回やりたいことの関連性についても補足いただけると助かります。
回答をうけて追記
---
OutlookVBAには触れたことがなく、また手元にOutlook環境がないので、自分からは一般論的な見解でアドバイスさせていただきますm(__)m
>『Outlook上でメールを開く操作をした時に』という箇所ができませんでした。
ということですが、これはhskさんからも回答があるとおりメールを開いたときに発生するイベント内で処理を記述すればよいと思います。
---
今回の主な質問は
>If文にDisplayを組み込むことはできるのでしょうか?
というものでしたが、メールを開いたときに発生するイベント内で処理するということは、メールを開く操作はすでに行っているということになります。
プログラム側からmailItem.Displayで開いてあげる必要はなさそうな気がします。
(すみません、ここらへん動作環境がないため推測で言っています。)
---
判定したい内容は「メールの件名」であって、Display関数の結果ではないですよね。
今回の行いたい処理
>メールの件名を判断して、メール本文をExcelファイルに保存を行いたい
をそのままコードに書くと、
```
If メールの件名判断 = True Then
   '処理対象の件名の場合
   Excelに出力する関数
End If
```
となります。
>メールの件名を判断する箇所、メール本文をExcelファイルに保存をする箇所まではできた
ということですので、これを上記の流れに乗せてあげればよさそうです。
頑張ってみてください。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る