ich habe versucht mich bei "Seitenumbruch und vorhandene Seite einfügen" vom Dispatcher zu lösen.
Das gelang bis dahin aber alles andere als zufriedenstellend:
Sub addForm
document = thisComponent.CurrentController.Frame
' funktioniert nach Umbau nicht mehr! --> Cursor beit an Position stehen
oViewCursor = thisComponent.getCurrentController.getViewCursor
oViewCursor.jumpToLastPage(true)
oViewCursor.jumpToEndofPage(true)
' ersetzen durch ??? -> Ergebnis soll Seitenumbruch sein
' anschließend Dokument einfügen
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Kind"
args1(0).Value = 3
args1(1).Name = "TemplateName"
args1(1).Value = ""
args1(2).Name = "PageNumber"
args1(2).Value = 0
dispatcher.executeDispatch(document, ".uno:InsertBreak", "", 0, args1())
' funktioniert!
Dim args2(0) as New com.sun.star.beans.PropertyValue
oText = thisComponent.getText()
oCursor = thisComponent.text.createtextcursor
sInhalt="file:///C:/xxx/xtFormulare/form_a.odt"
filetoinsert=converttourl(sInhalt)
oCursor.InsertDocumentFromUrl(FileToInsert,args2())
oCursor.gotoend(false)
End sub
Was läuft falsch?
Grüße
opiWahn
Zuletzt geändert von opiWahn am Sa, 02.04.2011 00:37, insgesamt 1-mal geändert.
Hallo DPunch,
vielen Dank
Mal wieder genau das richtige, auch wenn ich zu später Std. nochmal alles auspacken mußte was ich bis jetzt verstanden habe
Hab's jetzt so zusammen gebaut:
Sub addForm
oViewCursor = thisComponent.getCurrentController.getViewCursor
oViewCursor.jumpToLastPage(true)
oViewCursor.jumpToEndofPage(true)
Dim args2(0) as New com.sun.star.beans.PropertyValue
oText = thisComponent.getText()
oTextCursor = oText.createTextCursor
oTextCursor.gotoEnd(False)
oTextCursor.BreakType = com.sun.star.style.BreakType.PAGE_AFTER
oText.insertControlCharacter(oTextCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False)
sInhalt="file:///C:/xxx/xtFormulare/form_a.odt"
filetoinsert=converttourl(sInhalt)
oTextCursor.InsertDocumentFromUrl(FileToInsert,args2())
End sub
Auf jeden Fall funktioniert es (ich hoffe ich hab keinen Bock geschossen, der sich noch rächt) und der Code ist nicht nur kürzer, er sieht auch noch gut aus.