Condividi:        

Apertura e chiusura file excel da vb6

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Apertura e chiusura file excel da vb6

Postdi piter123 » 28/01/09 21:44

Salve, ho creato un piccolo programma che utilizza un foglio excel.
Lo apro e lo chiudo richiamando le routine di seguito riportate.
Succede però che a volte che chiudendo e riaprendo il programma o a causa di interruzioni improvvise di esso rimangano aperte delle sessioni di tale file excel.
E' possibile inserire un controllo che prima di aprire il file di excel ne chiuda ogni sua eventuale versione già aperta ?
Codice: Seleziona tutto
Option Explicit
    Public AppExcel As EXCEL.Application
    Public FileExcel As EXCEL.Workbook
    Public FoglioExcel(3) As EXCEL.Worksheet

Public Sub APRE_EXCEL()
      Set AppExcel = EXCEL.Application   'CREA ISTANZA OGGETTO
     EXCEL.Application.Application.Visible = False 'NON VISUALIZZA FILE EXCEL
     Set FileExcel = AppExcel.Workbooks.Open(PERCORSO_DDE & "DDE.xls")
    Set FoglioExcel(0) = FileExcel.Worksheets(1)
    Set FoglioExcel(1) = FileExcel.Worksheets(2)
    Set FoglioExcel(2) = FileExcel.Worksheets(3)
    Set FoglioExcel(3) = FileExcel.Worksheets(4)
End Sub

Public Sub CHIUDE_EXCEL()
    FileExcel.Close False 
    Set FileExcel = Nothing
    Set FoglioExcel(0) = Nothing
    Set FoglioExcel(1) = Nothing
    Set FoglioExcel(2) = Nothing
    Set FoglioExcel(3) = Nothing
     EXCEL.Application.Quit
End Sub
piter123
Utente Senior
 
Post: 190
Iscritto il: 07/11/07 18:31

Sponsor
 

Re: Apertura e chiusura file excel da vb6

Postdi piter123 » 31/01/09 09:34

anche se non è esattamente quello che volevo posto il codice

Option Explicit
Public AppExcel As EXCEL.Application
Public FileExcel As EXCEL.Workbook
Public FoglioExcel(3) As EXCEL.Worksheet
Public CTRL_NUOVA_ISTANZA As Boolean


Public Sub APRE_EXCEL()
CTRL_NUOVA_ISTANZA = False
On Error Resume Next 'Ignora errori
Set AppExcel = GetObject(, "Excel.Application") 'Controlla se esiste gia' una copia di Excel in esecuzione
If Err.Number <> 0 Then 'Se Excel non sta girando
Set AppExcel = CreateObject("Excel.Application") 'esegui l'applicazione
CTRL_NUOVA_ISTANZA = True
End If
Err.Clear ' Cancella gli errori che possono essere accaduti.
On Error GoTo 0 'Riprendi il normale controllo degli errori
Set FileExcel = AppExcel.Workbooks.Open(PERCORSO_DDE & "DDE.xls")
If VISUALIZZA_EXCEL = 1 Then
EXCEL.Application.Application.Visible = True 'VISUALIZZA FILE EXCEL
FileExcel.Application.Visible = True
Else
If CTRL_NUOVA_ISTANZA = False Then
EXCEL.Application.Application.Visible = False 'NON VISUALIZZA FILE EXCEL
End If
FileExcel.Application.Visible = False
End If
Set FoglioExcel(0) = FileExcel.Worksheets(1)
Set FoglioExcel(1) = FileExcel.Worksheets(2)
Set FoglioExcel(2) = FileExcel.Worksheets(3)
Set FoglioExcel(3) = FileExcel.Worksheets(4)
End Sub


Public Sub CHIUDE_EXCEL()
FileExcel.Close False 'CON "1" SALVA IN USCITA CON LO STESSO NOME, "FALSE" ESCE SENZA SALVARE
Set FileExcel = Nothing
Set FoglioExcel(0) = Nothing
Set FoglioExcel(1) = Nothing
Set FoglioExcel(2) = Nothing
Set FoglioExcel(3) = Nothing
If CTRL_NUOVA_ISTANZA = True Then
AppExcel.Quit
EXCEL.Application.Quit
End If
Set AppExcel = Nothing
End Sub
piter123
Utente Senior
 
Post: 190
Iscritto il: 07/11/07 18:31

Re: Apertura e chiusura file excel da vb6

Postdi Anthony47 » 31/01/09 14:14

Evidentemente questa discussione e' stata spostata (erroneamente, secondo me) dalla sezione Programmazione, e mi pare che il problema sia stato autorisolto da peter.

Sicuramente le gestione di vb e' diversa da quella del vba, comunque segnalo questo topic che affrontava un problema "simile ma diverso": viewtopic.php?f=26&t=75130
Magari c' e' qualche istruzione che puo' tornare utile.

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19223
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Apertura e chiusura file excel da vb6":


Chi c’è in linea

Visitano il forum: Nessuno e 51 ospiti