Torna al Thread

Public Function Crea_Oggetto_Excel_con_Recupero_ID_Processo(ByRef Oggetto_Excel As Object) As Int32 Dim intPreProcessi() As Int32 Dim proProcessi() As Process Dim proAttuale As Object Dim intConta As Int32 Dim blnTrovato As Boolean = False Try ' Recupera tutti i processi Excel avviati proProcessi = System.Diagnostics.Process.GetProcessesByName("EXCEL") ' Passsa in rassegna i processi rielvati For Each proAttuale In proProcessi ' Incrementa il vettore degli indici dei processi If intPreProcessi Is Nothing Then ReDim intPreProcessi(0) Else ReDim Preserve intPreProcessi(UBound(intPreProcessi) + 1) End If ' Memorizza l'indice del processo intPreProcessi(UBound(intPreProcessi)) = proAttuale.Id Next ' Crea l'oggetto Excel Oggetto_Excel = CreateObject("Excel.Application") ' Aggiorna l'elenco dei processi Excel avviati proProcessi = System.Diagnostics.Process.GetProcessesByName("EXCEL") ' Passa in rassegna i processi rilevati For Each proAttuale In proProcessi ' Imposta il flag di indice trovato blnTrovato = False ' Se il processo attuale è stao rilevato prima della creazione del processo ' Excel, imposta il flag su trovato If Not intPreProcessi Is Nothing Then For intConta = 0 To UBound(intPreProcessi) If intPreProcessi(intConta) = proAttuale.Id Then blnTrovato = True Next End If ' Se non è stato trovato nessun indice uguale, restituisce quello attuale, ' che corrisponde al processo appena creato If Not blnTrovato Then Return proAttuale.id Next Return Nothing Catch exc As Exception meErrori.RegistrazioneErrore(Err, exc, True) Return Nothing End Try End Function
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5