

Excel VBAでOutlookのメールを作成するのですが、実行後にメールの画面がアクティブにならないことがあります。
アクティブ(最前面)にする方法を教えてください。

コードは以下のような感じです。

[code]

    Dim objOutlook As Outlook.Application
     Dim objMail As Outlook.MailItem
     Set objOutlook = CreateObject("Outlook.Application")
     Set objMail = objOutlook.CreateItem(olMailItem)
     With objMail
     .To = "xxxxxxx@xxxx.co.jp" 
     .Subject ="〇〇〇の件" 
     .BodyFormat = olFormatPlain 
     .Body = "メール本文" 
     .Display
     End With
    
[/code]


CC BY-SA 4.0
2022-02-24T12:32:17.700
86559
2022-09-06T11:22:26.283
2022-02-24T14:58:18.650
3060
48200
question
vba excel mail
Excel VBA でOutlookのメールを作成するのですが、実行後にメールの画面がアクティブにならないことがあるので、 アクティブ(最前面)にする方法を教えてください。


私も同じことをやりたくてここにたどり着きました。

.Display  
と  
End With  
の間に  
.GetInspector.Activate  
という1行を入れるとできました。


CC BY-SA 4.0
2022-07-06T09:52:37.890
89791
2022-07-06T09:52:37.890
53398
86559
answer


私も上記の修正では前面に来ないことが出てきました。

そこで、以下の通り書き換えて試しています。

**修正前:**

[code]

    .GetInspector.Activate
    
[/code]

**修正後:**

[code]

    .GetInspector.Display (False)
    
[/code]


CC BY-SA 4.0
2022-09-06T09:50:45.000
90961
2022-09-06T11:22:26.283
2022-09-06T11:22:26.283
3060
53399
86559
answer