Buongiorno a tutti, spero non siate tutti in vacanza...

Devo far interagire due applicazioni.

La prima deve istanziare un'applcazione excel a seguito di un click su un button mentre la seconda deve, tramite una api, simulare il click sul button citato della prima applicazione.

La prima applicazione fa quanto segue:
codice:
 
Private Sub Command1_Click()
    Dim a As Excel.Application
   
    On Error Resume Next
        'Crea Una Nuova Sessione Di Excel
        Set a = CreateObject("Excel.Application")
        If Err <> 0 Then
            MsgBox "Errore di Apertura Microsoft Excel", vbOKOnly + vbCritical, "Errore Apertura"
            Stop
        End If
    On Error GoTo 0
End Sub
mentre la seconda:
codice:
 
Private Sub Command1_Click()
Dim hAppWnd As Long
hAppWnd = FindWindow(vbNullString, "p")
SendDlgItemMessage hAppWnd, &H1, BM_CLICK, vbNull, ""
End Sub
in un modulo bas della seconda ho opportunamente dichiarato:
codice:
Public Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Declare Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" _
                                            (ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal wMsg As Long, _
                                            ByVal wParam As Long, ByVal lParam As String) As Long

Public Const BM_CLICK = &HF5
Il caption del form dell'applicazione 1 è impostato a "p".
Per l'esecuzione bisogna prima lanciare l'applicazione 1, poi la 2 e poi premere sul button Command1 della seconda.

Se clicco il button dell'applicazione uno "a manina" non ho nessun problema, viceversa se provo ad automatizzare la cosa con l'applicazione 2 mi viene restituito l'errore -2147417843.
Come posso risolvere il problema?

Grazie a tutti...