Home |
Search |
Today's Posts |
|
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Active workbook
Is there a way to tell if the workbook containing a macro
is the active workbook? I am calling a subrouting using Application.OnTime (and calling itself in another interval until it is stopped by using the Scheduled argument in another OnTime call) but I would like it to do something different if the workbook is not active. I know that the macro continues to call itself if another workbook is active or even if another application is active. Thanks JW |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Active workbook
Jack,
ActiveWorkbook always refers to the workbook that is active regardless of whether it contains the running code. ThisWorkbook always refers to the workbook that contains the code, regardless of what workbook happens to be active. Therefore, you can simply compare the Name properties to see if ThisWorkbook is the ActiveWorkbook. E.g., If ActiveWorkbook.Name = ThisWorkbook.Name Then ' active workbook contains the running code Else ' active workbook does not contain running code End If -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Jack Wolf" wrote in message ... Is there a way to tell if the workbook containing a macro is the active workbook? I am calling a subrouting using Application.OnTime (and calling itself in another interval until it is stopped by using the Scheduled argument in another OnTime call) but I would like it to do something different if the workbook is not active. I know that the macro continues to call itself if another workbook is active or even if another application is active. Thanks JW |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Active workbook
Chip-
Thanks for the response. The crucial question that I still have is what happens when OnTime calls the procedure when the user is working in another application. Will ActiveWorkbook refer to the last workbook being used before switching out of Excel or will it return null or empty or something that will indicate that Excel does not have the current focus? Jack -----Original Message----- Jack, ActiveWorkbook always refers to the workbook that is active regardless of whether it contains the running code. ThisWorkbook always refers to the workbook that contains the code, regardless of what workbook happens to be active. Therefore, you can simply compare the Name properties to see if ThisWorkbook is the ActiveWorkbook. E.g., If ActiveWorkbook.Name = ThisWorkbook.Name Then ' active workbook contains the running code Else ' active workbook does not contain running code End If -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Active Workbook | Excel Discussion (Misc queries) | |||
Store Active Workbook | Excel Discussion (Misc queries) | |||
Active Workbook online. | Excel Discussion (Misc queries) | |||
copy worksheet from closed workbook to active workbook using vba | Excel Worksheet Functions | |||
run a macro on an in-active workbook | Excel Programming |