2016-02-16 10 views
6

Czy jest jakaś różnica między Thisworkbook a ActiveWorkbook.Różnica między Thisworkbook.name a Activeworkbook.name w VBA

Przykładowy kod:

Sub workbook_name() 
    MsgBox Thisworkbook.name 
    End Sub 



Sub active_name() 
    MsgBox Activeworkbook.name 
    End Sub 

Zarówno zwróci tę samą moc,

Czy istnieje jakiekolwiek inne przypadki, w których mamy do wykorzystania zwłaszcza ThisWorkbook gdzie ActiveWorkbook nie działa

+1

ThisWorkbook obiekt odnosi się do skoroszytu, że kod jest w. Obiekt ActiveWorkBook odnosi się do skoroszytu która jest obecnie aktywna. – 0m3r

+0

Dziękuję za szybką odpowiedź Om3r –

Odpowiedz

8

Activeworkbook.name służy aby uzyskać nazwę aktywnego skoroszytu z n różnych ilości otwartych skoroszytów.

Thisworkbook.name służy do pobrania nazwy skoroszytu, w którym kod jest zapisany lub przechowywany w module tego skoroszytu.

Np jeśli piszesz kod w module lub arkuszu skoroszytu A następnie Thisworkbook.name powróci A bez względu na to co jest activeworkbook

+3

Po to, by nieco bliżej wyjaśnić tę kwestię - "TenWorkbook" odnosi się do skoroszytu, w którym znajduje się kod wykonywany w tym momencie. I tak myślę, że mimo wszystko mówisz w swojej odpowiedzi, ale myślałeś, że może to być trochę jaśniejsze. +1 –