LibreOffice Basic

Автор Ludmila87, 26 декабря 2016, 11:32

0 Пользователи и 1 гость просматривают эту тему.

Ludmila87

Добрый день, коллеги! Стоит задача скрывать строки с ошибками в формулах по макросу.
Активно пользуясь гуглом собрала вот такой макрос.
SUB hide()
[AJ:AJ].SpecialCells(xlCellTypeFormulas, xlErrors).EntireRow.Hidden = True
END SUB
Sub show()
[AJ:AJ].SpecialCells(xlCellTypeFormulas, xlErrors).EntireRow.Hidden = False
End Sub

Макросы работают, если их вставить в новый модуль и сохранить. Но стоит только закрыть либру и открыть документ вновь, как сразу ошибка при выполнении макроса следующего содержания.
ЦитироватьОшибка времени выполнения BASIC.
Объектная переменная не установлена.
.
Стоит что-то изменить в макросе и сохранить его как сразу он вновь работает... опять же до момента закрытия документа и открытия его вновь!
Буду очень признательна в квалифицированной помощи!

mikekaganski

Вы пользуетесь макросами VBA. При этом нужно в начало определить Option VBASupport 1
С уважением,
Михаил Каганский

Ludmila87

Спасибо большое! Заработало как надо!  :D

economist

А еще лучше включить все опции совместимости:


Option VBASupport 1
Option Compatible
'-----------------------------------------------

SUB hide()
ThisComponent.BasicLibraries.VBACompatibilityMode=true 

...

End Sub
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...