View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
keepITcool keepITcool is offline
external usenet poster
 
Posts: 2,253
Default Switching calculation to manual using Workbook_open


the idea was to prevent the workbook calculating
when opened.

but i checked my 'off the cuff' idea and it will not fly:

enablecalculation is NOT saved with the workbook.
thus setting it to false prior to save is useless



--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


Dave Peterson wrote :

I don't think that this will work for the OP.

Stuart's problem with another workbook open (with calculation set to
automatic) isn't addressed. And Stuart says that the recalc occurs
before the auto open macros could run.

(That's the way I remember it, too.)

keepITcool wrote:

Have you tried:

to set the EnableCalculation on the worksheets to False
(in BeforeSave event), then enabling it in workbook_open?

Also a must read is:
http://www.decisionmodels.com/calcsecretsc.htm

--
keepITcool
www.XLsupport.com | keepITcool chello nl | amsterdam


wrote :

I have a large workbook which takes a while to recalculate, hence
one of my workbook_open macros sets the calculation mode to
xlCalculationManual. However if I already have a workbook open,
which is set to xlCalculationAutomatic, then my large workbook
performs a full calculation before running the workbook_open
macros. I can interupt this by, say, pressing the CAPS LOCK key
but whilst I know to do this other users of this model may not.

Having searched other posts I found only 1 (somewhat cumbersome)
solution which is to open a dummy workbook which contains a macro
which switches calculation mode to manual then opens the large
workbook then closes itself. I am not keen on this idea as it
means issuing every user with 2 files.

I tried replicating my pressing of CAPS LOCK, using the SENDKEYS
command as the first statement in the workbook_open procedure but
this didn't work.

Can anyone help me out? How do I stop the model from calculating
upon opening so that the workbook_open macros run immediately?

TIA

Stuart