Hola...
Tienes tres errores:
1.- La referencia a las celdas con getCellByPosition, es COLUMNA, FILA, si pones (0,3) haces referencia a la celda A2, para hacer referencia a la celda D1, tienes que usar (3,0)
2.- El símbolo separador de argumentos en Calc es el punto y coma (;)
3.- Tienes que hacer uso correcto de las comillas, si necesitas comillas en los argumentos, tienes que establecerlas por código con la función Chr como te muestro a continuación.
Código: Seleccionar todo
Option Explicit
Sub Main
Dim oSheet As Object
oSheet = ThisComponent.getCurrentController.getActiveSheet
oSheet.getCellByPosition(3,0).setFormula ( "=IF(OR(ISNUMBER(A1)=1;LEFT(A1;2)=" & Chr(34) & "00" & Chr(34) & ";LEFT(A1;2)=" & Chr(34) & "01" & Chr(34) & ";LEFT(A1;2)=" & Chr(34) & "02" & Chr(34) & ";LEFT(A1;2)=" & Chr(34) & "03" & Chr(34) & ";LEFT(A1;2)=" & Chr(34) & "04" & Chr(34) & ");" & Chr(34) & "OK" & Chr(34) & ";" & Chr(34) & "BORRAR" & Chr(34) & ")" )
End Sub
Por favor, si esto responde tu pregunta,
edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], de esta forma conseguiremos un foro más ordenado.
Saludos