AppActivate Excel-vba: Excel がタスクバーで点滅し、アクティブにならない

AppActivate Excel-vba: Excel がタスクバーで点滅し、アクティブにならない

Excel-vba モジュールの場合:

Option Explicit
Sub Test()
    Dim Outlook As Object
    Set Outlook = CreateOutlook()
    Set Outlook = Nothing
End Sub
Function CreateOutlook() As Object
    Dim Outlook As Object
    On Error Resume Next
        Set Outlook = GetObject(, "Outlook.Application")
    On Error GoTo 0
    If Outlook Is Nothing Then Shell "Outlook"
    On Error Resume Next
        Do While Outlook Is Nothing
            Set Outlook = GetObject(, "Outlook.Application")
        Loop
    On Error GoTo 0
    Set Outlook = CreateObject("Outlook.Application")
    AppActivate Application.Caption 'This line doesn't cause an error but excel icon flashes in taskbar and doesn't activate.
    Set CreateOutlook = Outlook
    Set Outlook = Nothing
End Function

Windows 7 Ultimate、64 ビットを使用しています。

答え1

解決しました!

の代わりに:

AppActivate Application.Caption

これ:

SendKeys "% i"

それから:

Option Explicit
Sub Test()
    Dim Outlook As Object
    Set Outlook = CreateOutlook()
    Set Outlook = Nothing
End Sub
Function CreateOutlook() As Object
    Dim Minimize As Boolean
    Dim Outlook As Object
    Minimize = False
    On Error Resume Next
        Set Outlook = GetObject(, "Outlook.Application")
    On Error GoTo 0
    If Outlook Is Nothing Then
        Shell "Outlook"
        Minimize = True
    End If
    On Error Resume Next
        Do While Outlook Is Nothing
            Set Outlook = GetObject(, "Outlook.Application")
        Loop
    On Error GoTo 0
    If Minimize Then SendKeys "% i"
    Set Outlook = Nothing
    Set CreateOutlook = CreateObject("Outlook.Application")
End Function

関連情報