[Writer Formular] Sub verlassen / "Exit" wenn Wert > 0

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [Writer Formular] Sub verlassen / "Exit" wenn Wert > 0

Re: [Writer Formular] Sub verlassen / "Exit" wenn Wert > 0

von DPunch » Di, 03.05.2011 22:13

Aloha

Code: Alles auswählen

   if iError > 0 then
      MsgBox "Sie haben noch "& iError &" Fehler zu beheben", 0+48, "Achtung"
'       Sub verlassen         
   else
Wird in Basic in aller Regel so

Code: Alles auswählen

   if iError > 0 then
      MsgBox "Sie haben noch "& iError &" Fehler zu beheben", 0+48, "Achtung"
       Exit Sub
   else
gemacht.

[Writer Formular] Sub verlassen / "Exit" wenn Wert > 0

von opiWahn » Mi, 27.04.2011 10:54

hallo,

ich versuche seit gestern Abend nachfolgendes zu Realisieren, bleib aber immer an Fehlermeldungen wie unerwartetes "End Sub" hängen.
Mit 4 relativ identischen Routinen (ginge besimmt einfacher) prüfe ich ob in der jeweiligen Gruppe ein Radiobutton geklickt wurde.
(Diese 4 fasse ich der Einfachheit halber später nochmal zusammen)
Wenn ja, dann is alles prima - wenn nein, zähle ich eine Int-Variable "iError" um 1 hoch.
Nun möchte ich, daß z.B. die für Speichern zuständige Routine erst dann ausgeführt werden kann, wenn "iError" = 0 ist, ansonsten soll die Sub verlassen werden bzw. der User muß den Fehler beheben bevor er Speichern kann.

Code: Alles auswählen

Sub proofOptGrp1
   	iError = 0
	oForm = thisComponent.drawpage.forms.getbyindex(0)
	oForm.getGroupByName("opt_grp1", aOpt1)
	vGrpFail = oForm.getbyName("grp1_fail")
	errormsg1 = "In der markierten Optionsgruppe liegt ein Fehler vor" & CHR$(10) & "BITTE PRÜFEN!"
	bSelected = False
	
   	For i = LBound(aOpt1) to UBound(aOpt1)
      thisElement = aOpt1(i)
      If thisElement.ServiceName = "stardiv.one.form.component.RadioButton" Then
         If thisElement.State Then
            bSelected = True
            s1_1 = thisElement.Name 
            s1_2 = thisElement.Label
            Exit For
         End If
      End If
   	Next i
   	If bSelected Then
   	  vGrpFail.text = ""
   	Else
   	  vGrpFail.text = "!"
   	  MsgBox errormsg1, 0+48, "Achtung"
   	  iError = 1
   	End If
   	
end sub


'--------------------------------------------------------------------------------------------- funktioniert
Sub proofOptGrp2

	oForm = thisComponent.drawpage.forms.getbyindex(0)
	oForm.getGroupByName("opt_grp2", aOpt2)
	vGrpFail = oForm.getbyName("grp2_fail")
	aWorkHrs() = Array ("txt_Name1","num_StdMoName1","num_StdDiName1","num_StdMiName1","num_StdDoName1", _
	"num_StdFrName1","num_StdSaName1","num_StdSoName1","num_StdAzGesName1","num_StdFzGesName1", _
	"txt_Name2","num_StdMoName2","num_StdDiName2","num_StdMiName2","num_StdDoName2","num_StdFrName2", _
	"num_StdSaName2","num_StdSoName2","num_StdAzGesName2","num_StdFzGesName2", _
	"txt_Name3","num_StdMoName3","num_StdDiName3","num_StdMiName3","num_StdDoName3","num_StdFrName3", _
	"num_StdSaName3","num_StdSoName3","num_StdAzGesName3","num_StdFzGesName3", _
	"txt_Name4","num_StdMoName4","num_StdDiName4","num_StdMiName4","num_StdDoName4","num_StdFrName4", _
	"num_StdSaName4","num_StdSoName4","num_StdAzGesName4","num_StdFzGesName4", _
	"txt_Name5","num_StdMoName5","num_StdDiName5","num_StdMiName5","num_StdDoName5","num_StdFrName5", _
	"num_StdSaName5","num_StdSoName5","num_StdAzGesName5","num_StdFzGesName5", _
	"txt_Name6","num_StdMoName6","num_StdDiName6","num_StdMiName6","num_StdDoName6","num_StdFrName6", _
	"num_StdSaName6","num_StdSoName6","num_StdAzGesName6","num_StdFzGesName6", _
	"txt_Name7","num_StdMoName7","num_StdDiName7","num_StdMiName7","num_StdDoName7","num_StdFrName7", _
	"num_StdSaName7","num_StdSoName7","num_StdAzGesName7","num_StdFzGesName7", _
	"txt_Name8","num_StdMoName8","num_StdDiName8","num_StdMiName8","num_StdDoName8","num_StdFrName8", _
	"num_StdSaName8","num_StdSoName8","num_StdAzGesName8","num_StdFzGesName8", _
	"num_KM","num_U25","num_U50","num_U100")
	errormsg1 = "In der markierten Optionsgruppe liegt ein Fehler vor" & CHR$(10) & "BITTE PRÜFEN!"
	bSelected = False
	
   	For i = LBound(aOpt2) to UBound(aOpt2)
      thisElement = aOpt2(i)
      If thisElement.ServiceName = "stardiv.one.form.component.RadioButton" Then
         If thisElement.State Then
            bSelected = True
            s2_1 = thisElement.Name 
            s2_2 = thisElement.Label
            Exit For
         End If
      End If
   	Next i
   	
   	If bSelected And s2_2 = "Lohnnachweis" Then
   	  vGrpFail.text = ""
   	  MsgBox "Einträge in den roten Feldern" & CHR$(10) & "sind zwingend erforderlich", 0+48, "Achtung"
   	 
		for i = 0 to 83
			aText(i) = oForm.getByName(aWorkHrs(i))
			aText(i).ReadOnly = false
			aText(i).BackgroundColor = RGB(255,119,119)	
		next i
	
   	Elseif bSelected And s2_2 = "zum Festpreis" Then
   	  vGrpFail.text = ""
   	  
   	  	for i = 0 to 83
   	  		aText(i) = oForm.getByName(aWorkHrs(i))
			aText(i).ReadOnly = true
			aText(i).BackgroundColor = RGB(255,255,255)
		next i
   	
   	Else
   	  vGrpFail.text = "!"
   	  MsgBox errormsg1, 0+48, "Achtung"
   	  iError = iError + 1
   	End If
   	
end sub


'--------------------------------------------------------------------------------------------- funktioniert
Sub proofOptGrp3

	oForm = thisComponent.drawpage.forms.getbyindex(0)
	oForm.getGroupByName("opt_grp3", aOpt3)
	vGrpFail = oForm.getbyName("grp3_fail")
	errormsg1 = "In der markierten Optionsgruppe liegt ein Fehler vor" & CHR$(10) & "BITTE PRÜFEN!"
	bSelected = False
	
   	For i = LBound(aOpt3) to UBound(aOpt3)
      thisElement = aOpt3(i)
      If thisElement.ServiceName = "stardiv.one.form.component.RadioButton" Then
         If thisElement.State Then
            bSelected = True
            s3_1 = thisElement.Name 
            s3_2 = thisElement.Label
            Exit For
         End If
      End If
   	Next i
   	If bSelected Then
   	  vGrpFail.text = ""
   	Else
   	  vGrpFail.text = "!"
   	  MsgBox errormsg1, 0+48, "Achtung"
   	  iError = iError + 1
   	End If
   	
end sub


'--------------------------------------------------------------------------------------------- funktioniert
Sub proofOptGrp4

	oForm = thisComponent.drawpage.forms.getbyindex(0)
	oForm.getGroupByName("opt_grp4", aOpt4)
	vGrpFail = oForm.getbyName("grp4_fail")
	aOrder() = Array ("txt_ArtNr1","txt_ArtBez1","num_ArtAnz1","txt_ArtNr2","txt_ArtBez2","num_ArtAnz2","txt_ArtNr3","txt_ArtBez3","num_ArtAnz3", _
	"txt_ArtNr4","txt_ArtBez4","num_ArtAnz4","txt_ArtNr5","txt_ArtBez5","num_ArtAnz5","txt_ArtNr6","txt_ArtBez6","num_ArtAnz6", _
	"txt_ArtNr7","txt_ArtBez7","num_ArtAnz7","txt_ArtNr8","txt_ArtBez8","num_ArtAnz8")
	errormsg1 = "In der markierten Optionsgruppe liegt ein Fehler vor" & CHR$(10) & "BITTE PRÜFEN!"	
	bSelected = False
	
   	For i = LBound(aOpt4) to UBound(aOpt4)
      thisElement = aOpt4(i)
      If thisElement.ServiceName = "stardiv.one.form.component.RadioButton" Then
         If thisElement.State Then
            bSelected = True
            s4_1 = thisElement.Name 
            s4_2 = thisElement.Label
            Exit For
         End If
      End If
   	Next i
   	
   	If bSelected And s4_2 = "Ja" Then
   	  vGrpFail.text = ""
   	  MsgBox  "Einträge in den roten Feldern" & CHR$(10) & "sind zwingend erforderlich", 0+48, "Achtung"
   	 
		for i = 0 to 23
			aText(i) = oForm.getByName(aOrder(i))
			aText(i).ReadOnly = false
			aText(i).BackgroundColor = RGB(255,119,119)	
		next i
			
   	Elseif bSelected And s4_2 = "Nein" Then
   	  vGrpFail.text = ""
   	  
   	  	for i = 0 to 23
   	  		aText(i) = oForm.getByName(aOrder(i))
			aText(i).ReadOnly = true
			aText(i).BackgroundColor = RGB(255,255,255)
		next i
			
   	Else  
   	  vGrpFail.text = "!"
      MsgBox errormsg1, 0+48, "Achtung"
      iError = iError + 1
   	End If
   	
end sub


'--------------------------------------------------------------------------------------------- funktioniert
Sub proofAllOptGrp
	
	proofOptGrp1
	proofOptGrp2
	proofOptGrp3
	proofOptGrp4
		
End Sub


'--------------------------------------------------------------------------------------------- funktioniert
Sub Save_as_ODT

proofAllOptGrp
msgbox iError

	if iError > 0 then
		MsgBox "Sie haben noch "& iError &" Fehler zu beheben", 0+48, "Achtung"
'		 Sub verlassen				
	else	
	oform = thisComponent.drawpage.forms.getbyindex(0)
	aText = oForm.getByName("txt_oName")

		if aText.text = "" then
			datname = "blanc"
		else
			datname = aText.text
		end if
	path = "C:/xyz/Auftraege/"
	extension = ".odt"
	odturl = "file:///" + path + datname + extension
	thisComponent.storeToURL(odturl, Array())
	
clearForm
		
End Sub


'--------------------------------------------------------------------------------------------- funktioniert
Sub Save_as_PDF

proofAllOptGrp
msgbox iError

	if iError > 0 then
		MsgBox "Sie haben noch "& iError &" Fehler zu beheben", 0+48, "Achtung"
'		 Sub verlassen			
	else
	oform = thisComponent.drawpage.forms.getbyindex(0)
	aText = oForm.getByName("txt_oName")
		if aText.text = "" then
			datname = "blanc"
		else
			datname = aText.text
		end if
	path = "C:/xyz/Auftraege/PDF/"
	extension = ".pdf"
	pdfurl = "file:///" + path + datname + extension
	dim pdfProperties(1) as new com.sun.star.beans.PropertyValue
	pdfProperties(0).Name = "FilterName"
	pdfProperties(0).Value = "writer_pdf_Export"
	thisComponent.storeToURL(pdfurl, pdfProperties())
	
clearForm
	
End Sub

Nach oben