Verificare se un file aperto


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