Silbentrennung bei Calc per Makro?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
MikeRo
****
Beiträge: 153
Registriert: Mi, 20.01.2010 10:16

Silbentrennung bei Calc per Makro?

Beitrag von MikeRo »

Hallo,

ich habe ein kleines Problem, das sich z.B. Stammkundenrabatt nicht richtig auftrennt in meiner Spalte, da es ein Automatisiertes Makro ist müssen sich die Silben natürlich automatisch trennen, da ich eine feste Spaltenbreite habe. Weiß einer Rat?
OpenOffice 3.3 & postgresql-sdbc-driver 0.7.6b
Windows XP Professional SP3 x86
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Silbentrennung bei Calc per Makro?

Beitrag von DPunch »

Aloha

Ich weiss nicht, ob ich Dir folgen kann.
Willst Du die automatische Silbentrennung für eine Zelle / einen Bereich aktivieren oder wie oder was?
Das geht mit dem Stichwort

Code: Alles auswählen

oCell.ParaIsHyphenation = True
Oder Du formatierst die Zelle / den Bereich von vornherein mit Automatischer Zeilenumbruch + Silbentrennung aktiv.
Benutzeravatar
MikeRo
****
Beiträge: 153
Registriert: Mi, 20.01.2010 10:16

Re: Silbentrennung bei Calc per Makro?

Beitrag von MikeRo »

DPunch hat geschrieben:Aloha

Ich weiss nicht, ob ich Dir folgen kann.
Willst Du die automatische Silbentrennung für eine Zelle / einen Bereich aktivieren oder wie oder was?
Das geht mit dem Stichwort

Code: Alles auswählen

oCell.ParaIsHyphenation = True
Oder Du formatierst die Zelle / den Bereich von vornherein mit Automatischer Zeilenumbruch + Silbentrennung aktiv.
Die Silbentrennung soll für einen bestimmten Bereich stattfinden. In diesem Bereich ist auch der automatische Zeilenumbruch und die Silbentrennung aktiv. Aber er macht es einfach nicht. z.B. bei diesem Wort: Mediakostenbrutto

Hier mal ein Auszug aus dem Quelltext.:

Code: Alles auswählen

..... DB Abfrage

         			s = oResult.getString(1)
        	   	   	RabattUeberschrift = oDoc.sheets.getByName("Angebot").getCellByPosition(LetzteSpalte+nUpperBoundary,9)
        	   	   	RabattUeberschrift.String = s
        	   	   	RabattUeberschrift.ParaIsHyphenation = True
			   	RabattUeberschrift.isTextWrapped = TRUE

Weiter....
Er macht es aber leider nicht.
OpenOffice 3.3 & postgresql-sdbc-driver 0.7.6b
Windows XP Professional SP3 x86
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Silbentrennung bei Calc per Makro?

Beitrag von DPunch »

Aloha
MikeRo hat geschrieben:Er macht es aber leider nicht.
Kann ich nicht bestätigen, bei mir (OOo 3.2.1, Win XP) macht er es anstandslos.

Code: Alles auswählen

	oSheet = thisComponent.CurrentController.ActiveSheet
	oCell = oSheet.getCellByPosition(0,0)
	oCell.String = "Mediakostenbrutto"
	oCell.isTextWrapped = True
	oCell.ParaIsHyphenation = True
Wie sieht es denn bei Dir unter Extras -> Optionen -> Spracheinstellungen -> Linguistik aus?
Häkchen bei Libhyphen Hyphenator gesetzt?
Benutzeravatar
MikeRo
****
Beiträge: 153
Registriert: Mi, 20.01.2010 10:16

Re: Silbentrennung bei Calc per Makro?

Beitrag von MikeRo »

Bei mir sind alle Optionen gesetzt, aber es geht einfach nicht. Keine Ahnung.
Ich habe es jetzt durch suchen und ersetzen gelöst.

Angemerkt sei das ich die Überschriften aus der Datenbank lese.

Code: Alles auswählen

....
         			s = oResult.getString(1)
        	   	   	RabattUeberschrift = oDoc.sheets.getByName("Angebot").getCellByPosition(LetzteSpalte+nUpperBoundary,9)
        	   	   	RabattUeberschrift.String = s
        	   	   	RabattUeberschrift.ParaIsHyphenation = True
			   	RabattUeberschrift.isTextWrapped = True
....
OpenOffice 3.3 & postgresql-sdbc-driver 0.7.6b
Windows XP Professional SP3 x86
Benutzeravatar
MikeRo
****
Beiträge: 153
Registriert: Mi, 20.01.2010 10:16

Re: Silbentrennung bei Calc per Makro?

Beitrag von MikeRo »

Ich habe noch ein neues Problem.:

Ich lese Wörter aus der Datenbank aus und schreibe sie als Überschrift in die Tabelle.

Wenn ich z.B. Spezialrabatt als Wort habe, soll dieses Makro rabatt abschneiden und drunter schreiben.
Es macht es aber nicht, wenn die Zeile breit genug ist, ist das Wort trotzdem nebeneinander... :/

Code: Alles auswählen

Sub SilbenTrennung

				oCellRange = oSheet.getCellRangeByName("A10:ZZ10")

				ReplaceDescriptor = oCellRange.createReplaceDescriptor()

				ReplaceDescriptor.SearchString = "rabatt"
				ReplaceDescriptor.ReplaceString = "-" & chr(10)& chr(13)& "rabatt"
				oCellRange.ReplaceAll(ReplaceDescriptor)
				
				ReplaceDescriptor.SearchString = "Produktionskosten"
				ReplaceDescriptor.ReplaceString = "Produktions-" & chr(10)& chr(13)& "kosten"
				oCellRange.ReplaceAll(ReplaceDescriptor)

End Sub
OpenOffice 3.3 & postgresql-sdbc-driver 0.7.6b
Windows XP Professional SP3 x86
Antworten