On 06/08/2011 06:40, Andrew Douglas Pitonyak wrote:
<snip>
>>> Removed sheets may have references, a new sheet can not have any
>>> references nor is it referenced.
>>>
>>> bAC = isAutomaticCalculationEnabled()
>>> doc.enableAutomaticCalculation(False)
>>> do_stuff
>>> doc.enableAutomaticCalculation(bAC)
>>>
>> Thanks Andreas,
>>
>> I've done that but the problem persists.  I also made another
>> observation. One of the reserved sheets have formulas spanning about
>> 10columns by 1750rows (some of them having up to 4-6levels of nested
>> 'IF's with conditional formats). When I remove that sheet, the macro
>> executes instantly.
>>
>> What I don't understand is why Calc still computes that sheet while
>> deleting other sheets. The macro makes no reference to it and it
>> doesn't reference the deleted sheets.  The 'culprit' sheet uses named
>> cell refs but all within itself except one cell that references a
>> cache sheet which never gets deleted. More baffling is that it happens
>> with AutomaticCalculation set to False.
>>
>> I wonder if watching the huge range with a  listener will produce
>> better performance results.
>>
> Perhaps you can also add
> 
> doc.lockControllers()
> 
> do something
> 
> doc.unlockControllers()
> 

Thanks Andrew,

I've tried that.  No Joy :(

I removed formulas from the 'Culprit' sheet between Row11 and Row 1760,
ran the sheet-creation/deletion macro, and the speed was excellent.  So
it seems OOo/Libreoffice is iterating those cells at each sheet
deletion.  *That is not good*. Either the 'IF' formula statements
attract some performance hits or the named-referencing is doing
something weird.

I still have one formula summing the 1750rows ... and the macro runs
fine.  Looks like I have to deduce some kind of algorithm to avoid the
'IF's or whatever is causing this drag.


-- 
For unsubscribe instructions e-mail to: [email protected]
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/users/
All messages sent to this list will be publicly archived and cannot be deleted

Reply via email to