2016-02-16 21 views
6

C'è qualche differenza tra Thisworkbook e ActiveWorkbook.Differenza tra Thisworkbook.name e Activeworkbook.name in VBA

codice Esempio:

Sub workbook_name() 
    MsgBox Thisworkbook.name 
    End Sub 



Sub active_name() 
    MsgBox Activeworkbook.name 
    End Sub 

Entrambi restituire la stessa uscita,

c'è qualche altri casi in cui dobbiamo usare particolarmente ThisWorkbook dove ActiveWorkbook non funziona

+1

ThisWorkBook oggetto fa riferimento alla cartella di lavoro che il codice è in. Oggetto ActiveWorkbook si riferisce alla cartella di lavoro che è attualmente attivo. – 0m3r

+0

Grazie per la risposta rapida Om3r –

risposta

8

Activeworkbook.name viene utilizzato per ottenere il nome della cartella di lavoro attiva da n diverso numero di cartelle di lavoro aperte.

Thisworkbook.name viene utilizzato per ottenere il nome della cartella di lavoro in cui il codice è scritto o memorizzato nel modulo di tale cartella di lavoro.

Ad esempio, se si sta scrivendo il codice nel modulo o un foglio di lavoro A poi Thisworkbook.name tornerà A non importa quale sia l'ActiveWorkbook

+3

Giusto per chiarire un po 'più su questo - 'ThisWorkbook' si riferisce alla cartella di lavoro in cui risiede il codice che viene eseguito in quel punto nel tempo. Questo è quello che penso tu stia dicendo comunque nella tua risposta, ma ho pensato che potrebbe essere un po 'più chiaro. +1 –