Re[2]: [oodisc] глюк
Vladimir Bukhal
vbux на artmed.ru
Чт Окт 2 11:05:12 MSD 2003
Добрый день.
A> Извеняюсь за чайниковитость но
A> при запуске (мнигих скриптов) выдаёт ошибку - в частности
A> Ошибка времени выполнения BASIC
A> свойства или методы не найдены.
A> это на :
A> oDoc.addActionLock()
A> Где копать ?
Таки там правда ошибка. В ходе борьбы за ускорение работы перепутал
варианты библиотеки, и отправил не тот . :(((
Прошу прощения.
addActionLock работает только для электронных таблиц.
Все должно было выглядеть так
If oDoc.SupportsService("com.sun.star.sheet.SpreadsheetDocument") Then
oDoc.addActionLock()
For i = 0 To oDoc.Sheets.getCount() - 1
RecodePart(oDoc.Sheets(i))
Next i
oDoc.removeActionLock()
Else
....
То есть add/removeActionLock нужно переместить внутрь конструкции If.
Можно просто вставить RecodeCyr.xba из предыдущей вчерашней моей
посылки.
Могу кинуть правильный вариант.
Как показывает практика для данной задачи разница времени выполнения
при применении ActionLock порядка 1%.
Вообще блокировки ускоряют работу макроса не менее чем на треть.
Сегодня утром до работы пол часа убил на сбор статистики.
Привожу ее ниже.
Электронная таблица с хорошим заполнением текстом из 10 листов обрабатывается:
3:55 мин -только LockControllers
3:52 - addActionLock
3:49 - вместе
4:52- без них
Текстовый документ 105 страниц
0:31 - LockControllers
1:30 - без блокировки
Тестовая машина Cel1100,Win2kSp4 RUS, OO.o 1.1RC5
С уважением,
Владимир <vbux на artmed.ru>
Подробная информация о списке рассылки Oo-discuss