Newsgroup: it.comp.lang.visual-basic
Titolo: Per aprire una Applicazione

Aprendo una applicazione es:
Set xlApp = CreateObject("excel.application")
Se Excel è gia aperto posso evitare di aprire un'altra finestra? Come?
Grazie



Sub 
    On Error GoTo Err
    Set exclApp = GetObject(, "Excel.Application")
Resuming:
    With exclApp
        With .ActiveWorkbook
            Set WKS = .Worksheets.Add
        End With
    End With
' TUTTO IL CODICE
' TUTTO IL CODICE
' TUTTO IL CODICE
Err:
    If Err = 429 Then
        'Se Excel non è aperto
        Err.Clear
        Set exclApp = CreateObject("Excel.Application")
        exclApp.Workbooks.Add
        Resume Resuming
    Else
        ' gestione altri errori
    End If
End Sub

         'Se Excel non aperto


 un lavoro NUOVO come si può fare?
Prova col registratore di macro di excel e poi riporti il codice in VB6.

"Tommaso"  ha scritto nel messaggio 
news:b040be30-cd6c-4ee7...@i41g2000vbn.googlegroups.com...


*************************************
Non è chiaro *quando e da dove* apri Excel.
Evitando di forzare un errore, questo in un modulo:
Public objExcel As Object
Public Sub mExcel()
    If objExcel Is Nothing Then
        Set objExcel = CreateObject("Excel.Application")
    End If
End Sub
Da tutta l'applicazione, puoi adesso chiamare
la routine mExcel *prima* di implementare
Workbooks/Worksheets.
Se l'oggetto objExcel è presente, non accade nulla,
se non lo è, viene creato.
Resta da gestire il Quit ed il Set a Nothing.
E questo, in base al tuo contesto, lo sai tu.
---------------------------
Mauro Gamberini
Microsoft MVP - Excel
http://www.riolab.org/
http://www.maurogsc.eu/
http://social.answers.microsoft.com/Forums/it-IT/officeexcelit/threads
 

In un mio sw in VB6 ho bisogno, a un certo momento,  di lavorare su
altri programmi e poi ritornare al mio - Excel è uno di questi
programmi, un altro e Rhino (grafica 3D).
Come mi avete già indicato, io apro comunque il secondo o il terzo
programma (Excel o Rhino) anche se questo è già aperto ne apro una
nuova istanza perchè in fase di apertura non viene riconosciuta
l'esistenza dell'istanza già aperta.
Io vorrei che se Excel o Rhino sono già aperti, ci si colleghi ad esso
senza aprire una nuova finestra, magari con un NUOVO se voglio operare
con un nuovo lavoro.
Non so se sono stato chiaro.
Grazie dell'attenzione e saluti
Tommaso

"Tommaso"  ha scritto nel messaggio 
news:63da7349-94b1-4d59...@p8g2000vbs.googlegroups.com...




******************************
Io ti ho dato una soluzione.
Per far lavorare Visual Basic 6 con una sola
istanza di Excel, perchè di Rhino non so nulla.
L'hai provata?


 Microsoft MVP - Excelhttp://
www.riolab.org/http://www.maurogsc.eu/
L'ho provata, ma mi apre sempre una nuova istanza

"Tommaso"  ha scritto nel messaggio 
news:00379735-1ed5-4253...@i17g2000vbq.googlegroups.com...


*****************************************
A me no.
Se(se) metti il codice che ti ho postato
in un modulo e poi su di una Form metti un
CommandButton che richiama mExcel,
se utilizzi il Task Manager vedrai sempre e soltanto
una istanza di Excel, per quanti click tu faccia
tu faccia sul CommandButton.
Prova a definire istanza, per favore.
Perchè io mi sto riferendo all'oggetto
Application. Quindi avrò un'unica
istanza dell'oggetto Application.
Non è che tu ti riferisci a Workbook, ad esempio?
---------------------------
Mauro Gamberini
