Gerade mußte ich ein Makro abändern, da es unter Libreoffice 6.3 zu einer Fehlermeldung kam.
Das Problem hatte ich schon mal: https://www.libreoffice-forum.de/viewto ... 898#p50220
Damals half das Einsetzen eines WAIT(100), um die Fehlermeldung "Fehler in der Funktionsfolge." zu vermeiden.
Daraus mußte ich jetzt ein WAIT(1000) machen, was den Aufruf eines neuen leeren Auftragsformulars doch sehr verlangsamt.
Kennt jemand das Problem und/oder weiß, wie man es auf schnellerem Weg vermeiden kann?
Das Makro lautet jetzt:
Code: Alles auswählen
Sub Neuauftrag(oEvent as object)
oformAuftraege = oEvent.Source.Model.Parent
oFormAuftrag = ThisDatabaseDocument.getformdocuments.GetByName("f-Auftrag")
oFormAuftrag.open
oFormAuftrag = oFormAuftrag.Component.drawpage.forms(0)
Speicherfrage(oFormAuftrag)
Wait(1000) 'Damit das Formular soweit ist, sonst kommt Fehler "Fehler in der Funktionsfolge"
oFormAuftrag.Filter = "ANr = '1000'" 'Scheinheilige Filterung, damit kein oFormAuftrag.Last() vor dem MoveToInsertRow() gebraucht wird.
oFormAuftrag.reload
'oFormAuftrag.Last() 'Umgeht den Bug https://bugs.documentfoundation.org/show_bug.cgi?id=90088
oFormAuftrag.MoveToInsertRow() 'erst nach Sprung zum letzten Datensatz kann neuer Datensatz angelegt werden.
End Sub
Freischreiber