Ayuda de LibreOffice 26.8
Transfiere el control al sistema operativo durante la ejecución de la macro, para que este pueda procesar los eventos pendientes.
DoEvents garantiza la compatibilidad con VBA. Siempre devuelve 0. No es necesario su uso en LibreOffice.
[Call] DoEvents[()] As Integer
En ambos ejemplos se define un contador progresivo en la primera celda de un documento de Calc recién abierto.
Sub DoEventsExample
Dim i As Long, sheet As Object, cell As Object
sheet = ThisComponent.Sheets.getByIndex(0) ' hoja 1
cell = sheet.getCellByPosition(0,0) ' celda A1
For i = 1 To 20000
cell.setString(Str(i))
DoEvents
Next i
End Sub ' DoEventsExample
Sub DoEvents_example
Dim i As Long, ui As Object
GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
Set ui = CreateScriptService("SFDocuments.Calc", ThisComponent)
For i = 1 To 20000
ui.SetValue("A1", i)
DoEvents
Next i
ui.Dispose()
End Sub ' DoEvents_example