von der_Zerstreute » Mo, 12.10.2009 16:02
sorry , was hier fehlt ist der teil mit der abfrage aus dem form

.. sorry mein fehler ..
Die Variablen anfang und ende werden aus dem Form abgefragt als Datum. Dieser Teil funktioniert auch soweit .. also ich poste der einfachheit halber mal das ganze Makro

..
Code: Alles auswählen
Global anfang as date
global ende as date
global bEU,bSU,bFK as boolean
global sGSU as string
global MyDialog as object
Sub Main
'--------------------------------------------
' Variablen zuordnen
'--------------------------------------------
Dim Profil(0) as new com.sun.star.beans.PropertyValue
dim oFunctionAccess as object
dim document as object
dim args(1) as date
dim temp as string
dim tn as string 'Techniker Name
dim abt as string 'Abteilung
dim PerNo as integer 'Personalnummer
dim wt as integer 'Werktage
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())
'--------------------------------------------
' 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 ="" then goto fin
args(0) = anfang
args(1) = ende
abt = Benutzerdaten.givenname
tn = Benutzerdaten.sn
PerNo = Benutzerdaten.initials
'wt = oFunctionAccess.callFunction( "NETWORKDAYS", args())
fin:
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("pn1").text = PerNo
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("pn2").text = PerNo
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("name1").text = tn
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("name2").text = tn
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("abt1").text = abt
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("abt2").text = abt
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("grund").text = sGSU
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("grund2").text = sGSU
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("eh1").state = bEU
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("eh2").state = bEU
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("fk1").state = bFzK
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("fk2").state = bFK
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("su1").state = bSU
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("su2").state = bSU
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("start1").text = anfang
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("start2").text = anfang
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("ende1").text = ende
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("ende2").text = ende
end sub
'==================================================================================
'----------------------------------------------------------------------------------
'==================================================================================
sub fertig
if MyDialog.getControl("sEU").state =0 and _
MyDialog.getControl("sFzK").state=0 and _
MyDialog.getControl("sSU").state=0 then
MyDialog.getControl("iHW").model.label = "Bitte noch die Art des Urlaubs auswählen !"
goto break
end if
DialogLibraries.LoadLibrary( "Standard" )
MyDialog.getControl("iHW").model.label = ""
anfang = MyDialog.getControl("DF1").text
ende = MyDialog.getControl("DF2").text
bEU = MyDialog.getControl("sEU").state
bSU = MyDialog.getControl("sSU").state
bFK = MyDialog.getControl("sFzK").state
sGSU = MyDialog.getControl("eSUG").text
MyDialog.endexecute()
break:
end sub
'==================================================================================
'----------------------------------------------------------------------------------
'==================================================================================
sub erholung
if MyDialog.getControl("sEU").state = 1 then
MyDialog.getControl("Label5").visible = false
MyDialog.getControl("eSUG").visible = false
MyDialog.getControl("sFzK").state = 0
MyDialog.getControl("sSU").state = 0
MyDialog.getControl("iHW").model.label = ""
end if
end sub
'==================================================================================
'----------------------------------------------------------------------------------
'==================================================================================
sub freizeit
if MyDialog.getControl("sFzK").state = 1 then
MyDialog.getControl("Label5").visible = false
MyDialog.getControl("eSUG").visible = false
MyDialog.getControl("sEU").state = 0
MyDialog.getControl("sSU").state = 0
MyDialog.getControl("iHW").model.label = ""
end if
end sub
'==================================================================================
'----------------------------------------------------------------------------------
'==================================================================================
sub sonder
if MyDialog.getControl("sSU").state = 1 then
MyDialog.getControl("Label5").visible = true
MyDialog.getControl("eSUG").visible = true
MyDialog.getControl("sEU").state = 0
MyDialog.getControl("sFzK").state = 0
MyDialog.getControl("iHW").model.label = ""
end if
if MyDialog.getControl("sSU").state = 0 then
MyDialog.getControl("Label5").visible = false
MyDialog.getControl("eSUG").visible = false
end if
end sub
'==================================================================================
'----------------------------------------------------------------------------------
'==================================================================================
das einzige was halt nicht funktioniert ist die Variable "wt" .. hier komm ich nicht weiter da ich nicht nachvollziehen kann warum ich die Fehlermeldung "Objektvariable nicht belegt" bekomme ..
sorry , was hier fehlt ist der teil mit der abfrage aus dem form ;) .. sorry mein fehler ..
Die Variablen anfang und ende werden aus dem Form abgefragt als Datum. Dieser Teil funktioniert auch soweit .. also ich poste der einfachheit halber mal das ganze Makro :D..
[code]Global anfang as date
global ende as date
global bEU,bSU,bFK as boolean
global sGSU as string
global MyDialog as object
Sub Main
'--------------------------------------------
' Variablen zuordnen
'--------------------------------------------
Dim Profil(0) as new com.sun.star.beans.PropertyValue
dim oFunctionAccess as object
dim document as object
dim args(1) as date
dim temp as string
dim tn as string 'Techniker Name
dim abt as string 'Abteilung
dim PerNo as integer 'Personalnummer
dim wt as integer 'Werktage
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())
'--------------------------------------------
' 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 ="" then goto fin
args(0) = anfang
args(1) = ende
abt = Benutzerdaten.givenname
tn = Benutzerdaten.sn
PerNo = Benutzerdaten.initials
'wt = oFunctionAccess.callFunction( "NETWORKDAYS", args())
fin:
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("pn1").text = PerNo
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("pn2").text = PerNo
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("name1").text = tn
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("name2").text = tn
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("abt1").text = abt
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("abt2").text = abt
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("grund").text = sGSU
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("grund2").text = sGSU
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("eh1").state = bEU
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("eh2").state = bEU
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("fk1").state = bFzK
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("fk2").state = bFK
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("su1").state = bSU
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("su2").state = bSU
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("start1").text = anfang
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("start2").text = anfang
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("ende1").text = ende
ThisComponent.drawpage.forms.getbyIndex(0).getbyname("ende2").text = ende
end sub
'==================================================================================
'----------------------------------------------------------------------------------
'==================================================================================
sub fertig
if MyDialog.getControl("sEU").state =0 and _
MyDialog.getControl("sFzK").state=0 and _
MyDialog.getControl("sSU").state=0 then
MyDialog.getControl("iHW").model.label = "Bitte noch die Art des Urlaubs auswählen !"
goto break
end if
DialogLibraries.LoadLibrary( "Standard" )
MyDialog.getControl("iHW").model.label = ""
anfang = MyDialog.getControl("DF1").text
ende = MyDialog.getControl("DF2").text
bEU = MyDialog.getControl("sEU").state
bSU = MyDialog.getControl("sSU").state
bFK = MyDialog.getControl("sFzK").state
sGSU = MyDialog.getControl("eSUG").text
MyDialog.endexecute()
break:
end sub
'==================================================================================
'----------------------------------------------------------------------------------
'==================================================================================
sub erholung
if MyDialog.getControl("sEU").state = 1 then
MyDialog.getControl("Label5").visible = false
MyDialog.getControl("eSUG").visible = false
MyDialog.getControl("sFzK").state = 0
MyDialog.getControl("sSU").state = 0
MyDialog.getControl("iHW").model.label = ""
end if
end sub
'==================================================================================
'----------------------------------------------------------------------------------
'==================================================================================
sub freizeit
if MyDialog.getControl("sFzK").state = 1 then
MyDialog.getControl("Label5").visible = false
MyDialog.getControl("eSUG").visible = false
MyDialog.getControl("sEU").state = 0
MyDialog.getControl("sSU").state = 0
MyDialog.getControl("iHW").model.label = ""
end if
end sub
'==================================================================================
'----------------------------------------------------------------------------------
'==================================================================================
sub sonder
if MyDialog.getControl("sSU").state = 1 then
MyDialog.getControl("Label5").visible = true
MyDialog.getControl("eSUG").visible = true
MyDialog.getControl("sEU").state = 0
MyDialog.getControl("sFzK").state = 0
MyDialog.getControl("iHW").model.label = ""
end if
if MyDialog.getControl("sSU").state = 0 then
MyDialog.getControl("Label5").visible = false
MyDialog.getControl("eSUG").visible = false
end if
end sub
'==================================================================================
'----------------------------------------------------------------------------------
'==================================================================================[/code]
das einzige was halt nicht funktioniert ist die Variable "wt" .. hier komm ich nicht weiter da ich nicht nachvollziehen kann warum ich die Fehlermeldung "Objektvariable nicht belegt" bekomme ..