Es ist im Grunde noch ›schlimmer‹. Ich habe mir mal mit etwas Code helfen lassen um durch eine sofort zurückgenomme Änderung in einer Text-Zeile in WRITER einen Anker fürs Abspeichern zu bekommen um beim Wiederöffen an dieser Stelle einsteigen zu können. Das sieht (reduziert) so aus:
Code: Alles auswählen
sub SpeichernUndPOS1
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Text"
args1(0).Value = " "
dispatcher.executeDispatch(document, ".uno:GoToStartOfLine", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:SwBackspace", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:Save", "", 0, Array())
end sub
Lasse ich den Code laufen knallt es nach dem Upgrade auf Version 3.4 hier:
dim args1(0) as new com.sun.star.beans.PropertyValue • »Basic-Laufzeitfehler '91' Objektvariable nicht belegt«
Lästig wird das aber dann wenn ich das gewünschte Verhalten aufzeichne (das musste ich erst mal als experimentelle Funktion aktivieren..!) und faktisch den identischen Code wie oben bekomme mit dem identischen Unfall.
Was kann man da tun? Gibt es eine Einstellung die das beeinflusst oder liegt es am Format unter dem man das Dokument speichert? Der Fehler ist mir wirklich etwas speziell; wie kann original aufgezeichneter und bekannter Code falsch sein? Eine defekte Bibliothek?
Eric March