OpenOffice помогите с макросом [SOLVED]
Доброе время суток!
Подскажите пож-та, нужен макрос для ooCalc, вроде VBA знаю, а что-то с OpenOffice Basic'ом разобраться не могу. Нужно обработать кучу материала, для этого сижу изучаю матчасть, нежели в тупую лопатить материал. (уже сутки работа стоит, а голова пухнет!)
Данный макрос предусматривает избавление от пустых строк в таблице.
Имеем таблицу заполненную с пробелами, проверяем, например, по столбцу "B" если ячейка пустая то удаляем всю строку и переходим к следующей.
Я вот сочинил следующее
sub primer 'здесь проверяем по ячейке "А" rem ---------------------------------------------------------------------- rem define variables dim document as object dim dispatcher as object rem ---------------------------------------------------------------------- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") Dim Doc As Object Dim Sheet As Object Dim Cell As Object Dim i as Integer Doc = ThisComponent.CurrentSelection Sheet = Doc.getSpreadsheet(0) For i = 0 to 105 Cell = Sheet.getCellByPosition(0, i) If Cell.Value = "" Then Sheet.getRows.removeByIndex(0, 1) EndIf Next i
Данный код вообще ничего не делает, если же заменим тело цикла на ниже приведённое, то ситуация обратная - удаляются все подряд строки
Cell = Sheet.getCellByPosition(0, i) Select Case Cell.Type Case com.sun.star.table.CellContentType.EMPTY Sheet.getRows.removeByIndex(0, 1) End Select
Буду признателен, если кто направит на хорошие ресурсы c документацией по макросам для OpenOffice.
(эти ресурсы известны - http://www.pitonyak.org, http://community.i-rs.ruб http://disemia.com/software/openoffice/, www.openoffice.org)
- Для комментирования войдите или зарегистрируйтесь
j=0Алгоритм
Алгоритм неправильный. Должно быть как-то так:
спасибо,
спасибо,
действительно алгоритм неправильный был, видимо в борьбе с объектами и методами, о логике позабыл. Но дело было не только в алгоритме.
Ниже привожу текст работающего макроса.