Makro: Absätze in Impress Folien einfügen

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: Makro: Absätze in Impress Folien einfügen

Makro: Absätze in Impress Folien einfügen

von Adsubia » Fr, 03.08.2012 20:16

Hallo,

ich bin zwar ganz neu hier, habe mich aber schon mit OOo beschäftigt.

Ich zeige euch hier mal meinen Code, der ein Writer-Dokument absatzweise ausliest und jeden Absatz auf eine neue Impress-Folie bringen soll:

Code: Alles auswählen

Sub CopyData(source, dest)
	Dim pageCnt
	Dim actPage
	Dim absatz
	Dim absEnum				'com.sun.star.container.XEnumerationAccess
	
	absEnum = source.Text.createEnumeration()
	Do While absEnum.hasMoreElements()
		pageCnt = dest.getDrawPages().getcount()-1
		absatz = absEnum.nextElement()
	
		REM Der zurückgegebene Absatz ist entweder ein normaler Absatz oder eine Tabelle
		If absatz.supportsService("com.sun.star.text.Paragraph") Then
			actPage = dest.DrawPages.insertNewByIndex(pageCnt+1)
			actPage.add(absatz)
		ElseIf oPar.supportsService("com.sun.star.text.TextTable") Then
			actPage = dest.DrawPages.insertNewByIndex(pageCnt+1)
			actPage.add(absatz)
		End If
	Loop
End Sub
source ist die Quell- und dest ist die Zieldatei (.odp). Leider funktioniert der add-Befehl mit übergebenem ausgelesenen Absatz nicht: Er führt zu einer IllegalArgumentException. Wie kann man den Inhalt des Absatzes in eine Impress-Folie bringen? (Nicht wundern, dass ich Paragraph & Table gleich behandle - das ist nur ein Template und wird später evtl. noch unterschieden.)

Vielen Dank schonmal für eure Hilfe!

Nach oben