RE: Fehler in Makroausführung
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
Re: Fehler in Makroausführung
Am 12.03.2021 um 10:19 schrieb Wolfgang Jäth: 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. oder überhaupt nicht. Das funktioniert anscheinend auch. Was genau andernfalls passiert, bzw. dass das /überhaupt/ so ist, ist leider nirgends richtig (oder überhaupt) erläutert. Sorry. Unter bestimmten Umständen werden die anscheinend zu einer Art Konstante und verändern sich nicht mehr. Wolfgang - To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org
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. Was genau andernfalls passiert, bzw. dass das /überhaupt/ so ist, ist leider nirgends richtig (oder überhaupt) erläutert. Sorry. Wolfgang -- - To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org
RE: Fehler in Makroausführung
Hallo, > -Original Message- > From: technik_...@jrsch.de [mailto:technik_...@jrsch.de] > Sent: Friday, March 12, 2021 7:27 AM > To: users-de@openoffice.apache.org > Subject: Re: Fehler in Makroausführung > Ich verwende das Makro schon seit einigen Jahren in verschiedenen > Dokumenten. Erst jetzt tritt dieser Fehler auf. Mich erreichte inzwischen per PM der Hinweis das bereits eine Fehlermeldung zu dem Problem existiert: https://bz.apache.org/ooo/show_bug.cgi?id=23763 da diese Bugmeldung von 2003 bzw. 2015 datiert, muss das Problem eigentlich schon lange existieren. Gruß Jörg - To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org
Re: Fehler in Makroausführung
Am 11.03.2021 um 13:28 schrieb Jörg Schmidt: Hallo, -Original Message- From: technik_...@jrsch.de [mailto:technik_...@jrsch.de] Sent: Thursday, March 11, 2021 12:10 PM To: users-de@openoffice.apache.org Subject: Fehler in Makroausführung Hallo, ich habe ein eigenartiges Verhalten beobachtet: Sub Main print "1:" & test() print "2:" & test(4) end sub function test(optional zl as integer) if ismissing(zl) then zl = 0 do a= zl+1 zl = zl + 1 zl=a leer=leer+1 loop until leer >9 test=zl end function Bei Aufruf von test() wird der Zähler zl nur bei 1 gezählt und dann nicht mehr weiter heraufgezählt. Strenggenommen gibt es in der Programmhilfe keinen Hinweis darauf das ein optionales Argument typisiert sein darf. Lasse ich die Typisierung weg läuft es richtig. Ich verwende das Makro schon seit einigen Jahren in verschiedenen Dokumenten. Erst jetzt tritt dieser Fehler auf. Ich habe ganz oft optional mit Typ belegt. Es funktioniert auch beim ersten Mal, Aber dann scheint es eine Konstante zu werden. Ich nehm die Typisierung raus. Horst (a) ja, auch ich halte das für eigenartig (b) bei LO tritt dieses Verhalten nicht auf Gruß Jörg - To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org - To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org
RE: Fehler in Makroausführung
Hallo, > -Original Message- > From: technik_...@jrsch.de [mailto:technik_...@jrsch.de] > Sent: Thursday, March 11, 2021 12:10 PM > To: users-de@openoffice.apache.org > Subject: Fehler in Makroausführung > > Hallo, > > ich habe ein eigenartiges Verhalten beobachtet: > > Sub Main > print "1:" & test() > print "2:" & test(4) > end sub > > function test(optional zl as integer) >if ismissing(zl) then zl = 0 > do >a= zl+1 >zl = zl + 1 >zl=a >leer=leer+1 > loop until leer >9 > test=zl > end function > > Bei Aufruf von test() wird der Zähler zl nur bei 1 gezählt und dann > nicht mehr weiter heraufgezählt. Strenggenommen gibt es in der Programmhilfe keinen Hinweis darauf das ein optionales Argument typisiert sein darf. Lasse ich die Typisierung weg läuft es richtig. (a) ja, auch ich halte das für eigenartig (b) bei LO tritt dieses Verhalten nicht auf Gruß Jörg - To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org
Re: Fehler in Makroausführung
Am 11.03.2021 um 12:09 schrieb technik_...@jrsch.de: Hallo, ich habe ein eigenartiges Verhalten beobachtet: Sub Main print "1:" & test() print "2:" & test(4) end sub function test(optional zl as integer) if ismissing(zl) then zl = 0 do a= zl+1 zl = zl + 1 zl=a leer=leer+1 loop until leer >9 test=zl end function Bei Aufruf von test() wird der Zähler zl nur bei 1 gezählt und dann nicht mehr weiter heraufgezählt. (Die Prozedur stammt aus einem Hilfsmakro, dass in verschiedenen Programmen läuft und hier auf das wesentliche gekürzt wurde. Die Variable a ist für Testzwecke eingebaut worden.) Ich hatte den Computer mit Win7 und OO 4.1.19 vorher im Ruhemodus. Aber das hat auch früher nicht gestört. Noch ein Nachtrag: Auch nach Neustart bleibt der Fehler. Horst - To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org - To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org
Fehler in Makroausführung
Hallo, ich habe ein eigenartiges Verhalten beobachtet: Sub Main print "1:" & test() print "2:" & test(4) end sub function test(optional zl as integer) if ismissing(zl) then zl = 0 do a= zl+1 zl = zl + 1 zl=a leer=leer+1 loop until leer >9 test=zl end function Bei Aufruf von test() wird der Zähler zl nur bei 1 gezählt und dann nicht mehr weiter heraufgezählt. (Die Prozedur stammt aus einem Hilfsmakro, dass in verschiedenen Programmen läuft und hier auf das wesentliche gekürzt wurde. Die Variable a ist für Testzwecke eingebaut worden.) Ich hatte den Computer mit Win7 und OO 4.1.19 vorher im Ruhemodus. Aber das hat auch früher nicht gestört. Horst - To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org