Domanda: mi serve un'istruzione che dica se il file è aperto vai a pippo se è chiuso lo apri e poi vai a pippo.
non so come fare.
Risposta: La procedura è molto semplice e si basa su un ciclo che verifica se è aperto un file che si chiama nel modo indicato. Questo non garantrisce che si apra il file esatto ma semplicemente che sia aperto un file con un dato nome: dunque non vengono gestiti i casi di omonimia tra file.
vediamo la macro: _________________________________________
Public Sub Verifica_file() Dim Book As Workbook Dim trovato As Boolean
trovato = False For Each Book In Workbooks If Book.Name = "FILE-CHE-DEVO_VERIFICARE.XLS" Then trovato = True Next Book If Not trovato Then Workbooks.Open Filename:="C:\Documents and Settings\A\Documenti\FILE-CHE-DEVO_VERIFICARE.XLS" GoTo pippo Else GoTo pippo End If
[A1] = 10
pippo: [A1] = 1
End Sub _________________________________________
come potete vedere la macro è semplice: esegue un ciclo tra tutti i file aperti e ne verifica il nome, se trova il nome ricercato tutto bene e sposta l'esecuzione alla label pippo altrimenti apre il file (con tutto il percorso sul disco) e successivamente sposta l'esecuzione alla label pippo. Dunque il comando
[A1]=10
che scrive il valore 10 nella cella A1 non viene mai eseguito
|