Seite 1 von 1

[Writer] Seite 2 bis n via Makro löschen

Verfasst: Do, 10.11.2011 11:07
von opiWahn
Hallo,

an ein Standartformular hänge ich via Makro verschiedene Unterformulare an, was soweit auch gut funktioniert!
Nun möchte ich die Möglichkeit eröffnen das ganze zurück zu setzen. Alle Felder auf der ersten Seite zu löschen ist kein Problem, jedoch fehlt mir der Ansatz alle folgenden Seiten (2-n), soweit vorhanden, komplett zu entfernen.

Code: Alles auswählen

Sub clearForm

aFail() = Array ("grp1_fail","grp2_fail","grp3_fail","grp4_fail")
aTxtField() = Array ("txt_oKey", "txt_oName", "txt_oTitel", "txt_oStrasse", "txt_oOrt", "txt_oPersAnrede", "txt_oTelefon", "txt_oVerladeStNr", "txt_oGeraeteNr", _
	"txt_rName", "txt_rTitel", "txt_rStrasse", "txt_rOrt", "txt_oUAuftrBest", "txt_oUAngebNr", "txt_oUBestNr", "txt_oIAuftrNr", "txt_oLangtext",_
	"txt_Name1","txt_Name2","txt_Name3","txt_Name4","txt_Name5","txt_Name6","txt_Name7","txt_Name8", _
	"txt_ArtNr1","txt_ArtBez1","txt_ArtNr2","txt_ArtBez2","txt_ArtNr3","txt_ArtBez3","txt_ArtNr4","txt_ArtBez4","txt_ArtNr5","txt_ArtBez5", _
	"txt_ArtNr6","txt_ArtBez6","txt_ArtNr7","txt_ArtBez7","txt_ArtNr8","txt_ArtBez8")
	
aNumField() = Array ("num_StdMoName1","num_StdDiName1","num_StdMiName1","num_StdDoName1","num_StdFrName1","num_StdSaName1","num_StdSoName1","num_StdAzGesName1","num_StdFzGesName1", _
	"num_StdMoName2","num_StdDiName2","num_StdMiName2","num_StdDoName2","num_StdFrName2","num_StdSaName2","num_StdSoName2","num_StdAzGesName2","num_StdFzGesName2", _
	"num_StdMoName3","num_StdDiName3","num_StdMiName3","num_StdDoName3","num_StdFrName3","num_StdSaName3","num_StdSoName3","num_StdAzGesName3","num_StdFzGesName3", _
	"num_StdMoName4","num_StdDiName4","num_StdMiName4","num_StdDoName4","num_StdFrName4","num_StdSaName4","num_StdSoName4","num_StdAzGesName4","num_StdFzGesName4", _
	"num_StdMoName5","num_StdDiName5","num_StdMiName5","num_StdDoName5","num_StdFrName5","num_StdSaName5","num_StdSoName5","num_StdAzGesName5","num_StdFzGesName5", _
	"num_StdMoName6","num_StdDiName6","num_StdMiName6","num_StdDoName6","num_StdFrName6","num_StdSaName6","num_StdSoName6","num_StdAzGesName6","num_StdFzGesName6", _
	"num_StdMoName7","num_StdDiName7","num_StdMiName7","num_StdDoName7","num_StdFrName7","num_StdSaName7","num_StdSoName7","num_StdAzGesName7","num_StdFzGesName7", _
	"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","num_ArtAnz1","num_ArtAnz2","num_ArtAnz3","num_ArtAnz4","num_ArtAnz5","num_ArtAnz6","num_ArtAnz7","num_ArtAnz8")
	
	With ThisComponent.DrawPage.Forms.GetByName("mainForm1")
		For n = 0 to .Count - 1
			On Error Resume Next
			If Right(.GetByIndex(n).ServiceName, 11) = "RadioButton" Then
				.GetByIndex(n).State = 0
			End If
		Next n
	End With
		
	oForm = thisComponent.drawpage.forms.getbyindex(0)		
		For i = 0 to 3
			aGrpFail(i) = oForm.getByName(aFail(i))
			aGrpFail(i).Text=""
		Next i
		
		For i = 0 to 41
			aAllField(i) = oForm.getByName(aTxtField(i))
			aAllField(i).Text=""
			aAllField(i).ReadOnly = true
			aAllField(i).BackgroundColor = RGB(255,255,255)
		Next i
		
		For i = 0 to 83
			aAllField(i) = oForm.getByName(aNumField(i))
			aAllField(i).reset()
			aAllField(i).ReadOnly = true
			aAllField(i).BackgroundColor = RGB(255,255,255)
		Next i
			
end Sub

Re: [Writer] Seite 2 bis n via Makro löschen

Verfasst: Fr, 11.11.2011 06:42
von DPunch
Aloha

Wie wäre es einfach mit neu Laden des Dokuments, bevor Du Dir solche Umstände machst?

Re: [Writer] Seite 2 bis n via Makro löschen

Verfasst: Fr, 11.11.2011 10:02
von opiWahn
auch gut. Und wie mache ich so ein "Reload"?