Hallo Leute,
Durch den partiellen Umstieg auf LO bei uns , bekomme ich gerade etwas Probleme mit meinen Makros.
Teilweise funktionieren gewisse Befehle anscheinend neuerdings anders.
Vieleicht kann mir einer sagen warum ich jedesmal unter LO 5.1 bei der oben genannten Zeile (im folgenden Code) eine Fehlermeldung bekomme.
Ich habe bereits versucht die Parameter als “variant”-Array zu übergeben oder als “String” aber grundsätzlich bekomme ich immer eine Fehlermeldung wenn ich versuche diese Funktion aufzurufen.
Unter AO läuft das Makro fehlerfrei.
Global anfang as date
global ende as date
global bEU,bSU,bFK
global sGSU as string
dim temp as string
global MyDialog as object
Sub Main
'--------------------------------------------
' Variablen zuordnen
'--------------------------------------------
Dim Profil(0) as new com.sun.star.beans.PropertyValue
dim document as object
dim args(1) as double
dim argsL(1) as variant 'alternative Argumente für Libreoffice
dim tn as string 'Techniker Name
dim abt as string 'Abteilung
dim PerNo as integer 'Personalnummer
dim wt as integer 'Werktage
Dim ov as string 'Office Version
dim fil as object
document = ThisComponent
globalScope.BasicLibraries.LoadLibrary("Tools") ' einbinden der OOBasic Funktionen
DialogLibraries.LoadLibrary( "Standard" )
MyDialog = CreateUnoDialog(DialogLibraries.Standard.Eingabe)
'--------------------------------------------
' Variablen beschreiben
'--------------------------------------------
oFunctionAccess = createUnoService( "com.sun.star.sheet.FunctionAccess" )
Benutzer = createUnoService("com.sun.star.configuration.ConfigurationProvider")
Profil(0).Name = "nodepath"
Profil(0).Value = "org.openoffice.UserProfile/Data"
Benutzerdaten = Benutzer.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", Profil())
ov = OfficeVersion() ' Aufruf der Funktion OfficeVersion
'--------------------------------------------
' Hinweistext erstellen
'--------------------------------------------
temp = "Bitte hier die notwendigen Daten eintragen und auswählen ." & chr(13) & chr(13)
temp = temp & ">> Das Formular wird automatisch ausgefüllt. <<" & chr(13)
temp = temp & chr(13)
MyDialog.getControl("iTitel").model.Label = temp
temp = ""
temp = temp & "Bitte wähle den Beginn und das Ende deines Urlaubs aus." & chr(13) &chr(13)
MyDialog.getControl("Mitte").model.Label = temp
MyDialog.getControl("Label5").visible = false
MyDialog.getControl("eSUG").visible = false
myDialog.execute
if anfang ="00:00:00" then goto fin
if instr(OV,"Foundation") then
argsL(0) = DateValue(anfang)
argsL(1) = DateValue(ende)
wt = oFunctionAccess.callFunction( "NETTOARBEITSTAGE",Array(anfang,Ende))
Else
args(0) = DateValue(anfang)
args(1) = DateValue(ende)
wt = oFunctionAccess.callFunction( "NETTOARBEITSTAGE", args())
end if
und ich weiß nicht wie ich herrausbekommen kann woran das liegt …
bei deinem Code erscheint
BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.container.NoSuchElementException
Message: .
Wenn ich die Argumente in einen Datevalue oder Datum direkt verwandle bekomme ich
BASIC-Laufzeitfehler.
Objektvariable nicht belegt.
Mir gehen gerade etwas die Ideen aus … Haben die Programmierer hier vieleicht eine entsprechende Funktion in den Basic Code direkt implementiert ?
Nen Changelog wäre bei sowas echt mega hilfreich :(.
Ich hoffe hier kann mir einer dabei helfen …