Ciao DarkSign.
Anch'io ho avuto un problema simile, e l'ho risolto nel seguente modo:
Quando si apre un file XLS si verificano vari eventi. L'ultimo è "Workbook_WindowActivate(ByVal Wn as Window)". Basta inserire nel foglio xls un macro che, al verificarsi di questo evento, genera un file TMP vuoto. Quindi da VB6 apri XLS e fai un ciclo che dura fino a quando non trovi questo file. Quando lo trovi vuol dire che XLS è aperto, cancella il file TMP e puoi andare avanti col tuo programma.
Ovviamente nel ciclo devi avere solo il "DoEvent".
PS: quando ho fatto il programma ero ancora agli inizi; anzichè usare un file TMP conviene usare una variabile nel registro di configurazione, perchè non puoi cancellare subito il file, ma devi aspettare almeno un mezzo secondo da quando questo viene creato, perchè la macro deve avere il tempo di chiuderlo.
Ciao e buon lavoro!
![]()

Rispondi quotando