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Алгоритм

Алгоритм неправильный. Должно быть как-то так:

j=0
For i = 0 to 105
    Cell = Sheet.getCellByPosition(0, j)
    If Cell.Value = "" Then
        Sheet.getRows.removeByIndex(0, j)
    else
        j++
    EndIf
Next i

спасибо,

спасибо,
действительно алгоритм неправильный был, видимо в борьбе с объектами и методами, о логике позабыл. Но дело было не только в алгоритме.
Ниже привожу текст работающего макроса.

sub primer

dim document   as object
dim dispatcher as object
Dim Doc As Object
Dim Sheet As Object
Dim Cell As Object
Dim i, j as Integer

document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

Doc = ThisComponent.CurrentSelection
Sheet = Doc.getSpreadsheet(0)
j = 0

For i = 0 to 305
Cell = Sheet.getCellByPosition(0, j)
If Cell.Type = com.sun.star.table.CellContentType.EMPTY Then
												                                                         Sheet.getRows.removeByIndex(j, 1)
											                                                          Else 
											                                                         j = j + 1
EndIf
Next i

end sub

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".