teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

てにをはなど修正

2017/02/01 00:08

投稿

hsk
hsk

スコア728

answer CHANGED
@@ -21,7 +21,7 @@
21
21
 
22
22
  あからじめ、MailItem型のグローバル変数を用意して(1)、[MailItem.Open](https://msdn.microsoft.com/ja-jp/library/office/ff865989.aspx)イベントを定義しておきます(2)。
23
23
 
24
- そして[Application](https://msdn.microsoft.com/ja-jp/library/office/ff866895.aspx)オブジェクトの(Application.ItemLoad)[https://msdn.microsoft.com/ja-jp/library/office/ff868544.aspx]イベントを定義します(3)。メールや予定表などのアイテムひとつを読み込むときに呼び出されるイベントです。対象が仮引数Itemに入っています。このItemの内容がMailItemである場合(4)には、これを(1)で用意してある変数にセットします。すると、開いたときに(2)のイベントが呼び出されます。メールメッセージは(3)でMailItem型のグローバル変数に入ますので、ここで件名を判断したり、エクセルファイルに保存したりできます。
24
+ そして[Application](https://msdn.microsoft.com/ja-jp/library/office/ff866895.aspx)オブジェクトの(Application.ItemLoad)[https://msdn.microsoft.com/ja-jp/library/office/ff868544.aspx]イベントを定義します(3)。メールや予定表などのアイテムひとつを読み込むときに呼び出されるイベントです。対象が仮引数Itemに入っています。このItemの内容がMailItemである場合(4)には、これを(1)で用意してある変数にセットします。すると、開いたときに(2)のイベントが呼び出されます。メールメッセージは(4)でMailItem型のグローバル変数に入ありますので、これを参照して件名を判断したり、エクセルファイルに保存したりできます。
25
25
 
26
26
  ---
27
27
 

3

てにをは等

2017/02/01 00:08

投稿

hsk
hsk

スコア728

answer CHANGED
File without changes

2

コメントの補足を受けて

2017/02/01 00:07

投稿

hsk
hsk

スコア728

answer CHANGED
@@ -1,3 +1,30 @@
1
+ (コメントの補足をいただいて)
2
+ > 『Outlook上でメールを開く操作をした時に』
3
+ の個所は次のようなコードで実現できると思います。
4
+
5
+ ```VBA
6
+ Private WithEvents g_mailItem As mailItem ''(1)
7
+
8
+ Private Sub g_mailItem_Open(Cancel As Boolean) ''(2)
9
+ MsgBox g_mailItem.Subject '' サンプル:件名をメッセージボックスで表示
10
+ End Sub
11
+
12
+ Private Sub Application_ItemLoad(ByVal Item As Object) ''(3)
13
+ Dim mailItem As mailItem
14
+
15
+ If TypeOf Item Is mailItem Then ''(4)
16
+ Set g_mailItem = Item
17
+ End If
18
+ End Sub
19
+
20
+ ```
21
+
22
+ あからじめ、MailItem型のグローバル変数を用意して(1)、[MailItem.Open](https://msdn.microsoft.com/ja-jp/library/office/ff865989.aspx)イベントを定義しておきます(2)。
23
+
24
+ そして[Application](https://msdn.microsoft.com/ja-jp/library/office/ff866895.aspx)オブジェクトの(Application.ItemLoad)[https://msdn.microsoft.com/ja-jp/library/office/ff868544.aspx]イベントを定義します(3)。メールや予定表などのアイテムひとつを読み込むときに呼び出されるイベントです。対象が仮引数Itemに入っています。このItemの内容がMailItemである場合(4)には、これを(1)で用意してある変数にセットします。すると、開いたときに(2)のイベントが呼び出されます。メールメッセージは(3)でMailItem型のグローバル変数に入っていますので、ここで件名を判断したり、エクセルファイルに保存したりできます。
25
+
26
+ ---
27
+
1
28
  もしかして
2
29
 
3
30
 

1

補足

2017/02/01 00:06

投稿

hsk
hsk

スコア728

answer CHANGED
@@ -17,4 +17,6 @@
17
17
 
18
18
  のようにしているのでしょうか?
19
19
 
20
- mailitem.Display() は戻り値がないメソッドですので、If 文には判断のしようがないのでしょう。
20
+ mailitem.Display() は戻り値がないメソッドですので、If 文には判断のしようがないのでしょう。
21
+
22
+ 「特定のメール」「何らかの処理」が、具体的に何なのかを書いていただければ、具体的な回答が得られると思います。