合理的な「グーグル」を実行しましたが、問題の答えが見つかりませんでした。
次の 2 つのサブルーチンがあります。2つはまったく同じですが、最初のものには「ForwardMailItem.Display」があり、2番目のものにはありません。その結果、最初のメールで作成された下書きメールには「testing here」というテキストが挿入され、2 番目のメールで作成されたメールには挿入されたテキストが含まれていません。いくつか質問があります。誰かが私を助けてくれることを願っています。1) .InsertBefore だけでは効果がないように見えるため、.Display メソッドを使用せずに、転送されたメールに新しいテキストを挿入するにはどうすればよいですか? 2) 項目を視覚的に表示する以外に、私の場合、.Display はどのような特別なことを行いますか?
Sub TestInsertBeforeWithDisplay()
Dim NewMailItem As Outlook.MailItem
Dim ForwardMailItem As Outlook.MailItem
For Each NewMailItem In Application.Session.GetDefaultFolder(olFolderInbox).Items.Restrict("[Unread]=true")
Set ForwardMailItem = NewMailItem.FORWARD
ForwardMailItem.GetInspector.WordEditor.Characters(1).InsertBefore "testing here"
ForwardMailItem.Display
ForwardMailItem.Close olSave
Next NewMailItem
End Sub
Sub TestInsertBeforeWithoutDisplay()
Dim NewMailItem As Outlook.MailItem
Dim ForwardMailItem As Outlook.MailItem
For Each NewMailItem In Application.Session.GetDefaultFolder(olFolderInbox).Items.Restrict("[Unread]=true")
Set ForwardMailItem = NewMailItem.FORWARD
ForwardMailItem.GetInspector.WordEditor.Characters(1).InsertBefore "testing here"
ForwardMailItem.Close olSave
Next NewMailItem
End Sub