Μεταφέρει τον έλεγχο στο λειτουργικό σύστημα κατά την εκτέλεση της μακροεντολής, ώστε να μπορεί να επεξεργάζεται τα συμβάντα σε αναμονή.
Το DoEvents παρέχει συμβατότητα με τη VBA. Επιστρέφει πάντα 0. Η χρήση του στο LibreOfficeDev δεν είναι απαραίτητη.
[Call] DoEvents[()] As Integer
Και τα δύο παραδείγματα ορίζουν έναν προοδευτικό μετρητή στο πρώτο κελί ενός νεοανοιγμένου εγγράφου Calc.
Sub DoEventsExample
Dim i As Long, sheet As Object, cell As Object
sheet = ThisComponent.Sheets.getByIndex(0) ' sheet 1
cell = sheet.getCellByPosition(0,0) ' cell 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