Seite 1 von 1

BASIC Laufzeitfehler; Argument ist nicht optional LO26.2 Win11

Verfasst: Sa 14. Feb 2026, 11:59
von Marwald
Moin,
in einem Formular zur Fotoarchivierung befindet sich eine Schaltfläche, die ein Makro aufruft, das das Standard-Bildbearbeitungsprogramm startet:

SUB fotoeditor(oEvent AS OBJECT)
DIM oDoc AS OBJECT
DIM oForm AS OBJECT
DIM oFeld AS OBJECT
DIM oShell AS OBJECT
DIM stUrl AS STRING
DIM stFeld AS STRING
DIM arUrl_Start()
oDoc = thisComponent
oForm = oEvent.Source.Model.Parent
oFeld = oForm.getByName("txtFoto")
stUrl = oFeld.BoundField.getString
arUrl_Start = split(oDoc.Parent.Url,right(convertToUrl(oDoc.Parent.Title),len(convertToUrl(oDoc.Parent.Title))-8))
oShell = createUnoService("com.sun.star.system.SystemShellExecute")
rem neu
stFeld = mid(convertToUrl(arUrl_Start(0) + stUrl),9)
rem schneidet file:/// ab
ende neu
oShell.execute(stFeld,,0)
rem BASIC Laufzeitfehler: Argument ist nicht optional

END SUB

Übergeben wird der Pfad zu einer Bilddatei. Das hat bisher problemlos funktioniert.
(Win 7, OpenOffice).
In Libreoffice wird auch jetzt der Fotoeditor mit dem gewünschten Bild gestartet, aber ich erhalte dann die Fehlermeldung:
BASIC-Laufzeitfehler: Argument ist nicht optional.

Bitte, was mache ich falsch. Oder ist es noch ein Bug in der Windows-Version von LibreOffice 26.2 ?

Ziemlich ratlos und für jede Hilfe dankbar
grüßt Martin

Re: BASIC Laufzeitfehler; Argument ist nicht optional LO26.2 Win11

Verfasst: Sa 14. Feb 2026, 15:14
von RobertG
Das ist schon vor etwas längerer Zeit gewesen, dass der Fehler hier auftauchte:
Da der letzte Parameter gesetzt ist, müssen auch die dazwischenliegenden Parameter belegt werden

Code: Alles auswählen

oShell.execute(stFeld,"",0)
Es reicht also, daraus einen leeren Text zu machen.

Re: BASIC Laufzeitfehler; Argument ist nicht optional LO26.2 Win11

Verfasst: Sa 14. Feb 2026, 15:24
von Marwald
Heißen Dank Robert,
so einfach können Lösungen sein!
Hatte inzwischen auch schon herumgebastelt und festgestellt, dass "open" als Argument funktioniert.
Ein leerer String ist natürlich eleganter.
Da wird wohl das Handbuch angepasst werden müssen, denn dort ist die von mir angewendete Schreibweise zu finden.

Ein schönes Wochenende wünscht
Martin

Re: BASIC Laufzeitfehler; Argument ist nicht optional LO26.2 Win11

Verfasst: Sa 14. Feb 2026, 17:56
von RobertG
Marwald hat geschrieben:
Sa 14. Feb 2026, 15:24
Da wird wohl das Handbuch angepasst werden müssen, denn dort ist die von mir angewendete Schreibweise zu finden.
Welche Version des Handbuches hast Du denn? Bei mir auf dem Desktop habe ich das drin. Vielleicht sollte ich einmal wieder eine aktuelle Version hoch laden.

Re: BASIC Laufzeitfehler; Argument ist nicht optional LO26.2 Win11

Verfasst: Sa 14. Feb 2026, 18:16
von Marwald
Oha, war wohl eine alte Version, die nur bis Version 24.2 gültig ist.
Werde mir die neuen Handbücher besorgen :oops:

schon passiert: in Handbuch 25.08 steht es so, wie von Dir beschrieben. Danke