Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [vb6] Chiusura Excel

    Buonasera,
    non riesco a chiudere l'applicazione Excel da vb6. In pratica io faccio riferimento all'applicazione Excel con i comandi:

    codice:
    Dim FileExcel As Workbook
    Dim FoglioExcel As WorkSheet
    E tra i processi del task manager di Windows mi ritrovo EXCEL.EXE. A questo punto avrei necessità di chiudere via codice vb6 l'applicazione Excel appena generata. Nel form_load dopo aver caricato il file excel e fatto i miei calcoli...alla fine del processo utilizzo il codice:

    codice:
    Set FileExcel = Nothing
    Set FoglioExcel = Nothing
    Questo codice lo inserisco anche nel form_unload; però il processo EXCEL.EXE è ancora tra i processi attivi del Task Manager. Come mai?


    Thanks!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Usa la Quit della Excel Application
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Non è presente. Nel mio codice uso solo:


    codice:
    Dim FileExcel As Workbook
    Dim FoglioExcel As WorkSheet

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    No ... così non va.

    Consulta internet per capire come fare ... con google troverai tanti esempi ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Cosa significa "così non va"?

    Il mio procedimento è questo:

    codice:
    Option Explicit
    
    Dim FileExcel As Workbook
    Dim FoglioExcel As Worksheets
    
    Public Function VerifyFile(FileName As String)
    On Error Resume Next
    Open FileName For Input As #1
    If Err Then
    VerifyFile = False
    Exit Function
    End If
    Close #1
    VerifyFile = True
    End Function
    
    
    Private Sub Form_Load()
    On Error Resume Next
    If VerifyFile(gsUserDocumentexcel & "\Esempio.xls") Then
    
            
            Set FileExcel = Excel.Workbooks.Open(gsUserDocumentexcel & "\Esempio.xls")
        Else
            MsgBox "Impossibile eseguire il programma" & _
            vbCrLf & "Il file " & gsUserDocumentexcel & "\Esempio.xls" & " non Ë stato trovato.", vbOKOnly
            End
        End If
        
        
     Set FoglioExcel = FileExcel.Worksheets("Sheet1")
    
    
    
    ------Istruzioni-------
    
    
    
    Set FoglioExcel = Nothing
    Set FileExcel = Nothing
    End Sub
    Cosa non va bene???

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non va bene ...

    Intanto la verifica del file la fai semplicemente con la Dir senza tutto quel codice nella funzione e poi il codice corretto prevede la creazione di una istanza di Excel attraverso cui devi effettuare le operazioni.

    L'istanza alla fine viene distrutta con la Quit regolarmente.

    codice:
    Option Explicit
    
    Dim fname As String
    
    Dim xApp As Object
    Dim oWbk As Object
    Dim oWsh As Object
    
    Private Sub Form_Load()
        fname = gsUserDocumentexcel & "\Esempio.xls"
        
        If Len(Dir(fname)) Then
            Set xApp = CreateObject("Excel.Application")
            Set oWbk = xApp.Workbooks.Open(fname)
            Set oWsh = oWbk.ActiveSheet
        Else
            MsgBox "Impossibile eseguire il programma" & _
                vbCrLf & "Il file " & fname & " non e' stato trovato.", vbOKOnly
            Unload Me
        End If
    End Sub
    
    Private Sub Form_Unload(Cancel As Integer)
        If Not (oWbk Is Nothing) Then
            oWbk.Close False
            xApp.Quit
            Set oWsh = Nothing
            Set oWbk = Nothing
            Set xApp = Nothing
        End If
    End Sub
    in questo modo vedrai che l'istanza di Excel viene chiusa correttamente.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Grazie mille! Ho risolto!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.