Hallo, 

> -----Original Message-----
> From: Wolfgang Jäth [mailto:jawo.ml.hams...@arcor.de] 
> Sent: Friday, March 12, 2021 10:20 AM
> To: users-de@openoffice.apache.org
> Subject: Re: Fehler in Makroausführung
> 
> Am 11.03.2021 um 12:09 schrieb technik_...@jrsch.de:
> > Sub Main
> > print "1:" &  test()
> > print "2:" & test(4)
> > end sub
> > 
> > function test(optional zl as integer)
> 
> AFAIK müssen optionale Parameter (im- oder explizit) grundsätzlich als
> "variant" deklariert werden.

dann möchte ich doch noch etwas sagen:

ich würde innerhalb der Function den Parameterwert an eine separate Variable zu 
übergeben und dann innerhalb der Function mit dieser Variable zu arbeiten.

z.B. also:

function test(optional zl As integer)
        if ismissing(zl) then 
                        x = 0
                Else
                        x = zl
        End If
        do
                x = x + 1
                leer=leer+1
        loop until leer >9
        test=x
end function

> Was genau andernfalls passiert, bzw. dass das /überhaupt/ so ist, ist
> leider nirgends richtig (oder überhaupt) erläutert. Sorry.

In der Tat, nur ist die Notwendigkeit bzw. Bevorzugung als Variant zu 
deklarieren hier eigentlich ebenfalls nicht explizit gegeben, z.B. im Gegensatz 
zu com.sun.star.sheet.FunctionAccess (dort ist variant zwingend weil die 
Einzelparameter verschiedenen Typs sein können).



Gruß
Jörg







---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org
For additional commands, e-mail: users-de-h...@openoffice.apache.org

Antwort per Email an