JohnV Administrator

Joined: 07 Mar 2003 Posts: 8979 Location: Lexinton, Kentucky, USA
|
Posted: Thu Mar 31, 2011 9:01 am Post subject: Split a Writer document into one file per page. |
|
|
This one gets asked for occasionally.
| Code: | Sub OneFilePerPage 'Writer
Dim oDoc,document,dispatcher,oVC,oTC,nDoc,nVC,url,pn
oDoc = ThisComponent
document = oDoc.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
oVC = oDoc.CurrentController.getViewCursor
oVC.gotoStart(false)
url = ConvertToUrl("C:\users\cat\test\page")
nDoc = StarDesktop.loadComponentFromUrl("private:factory/swriter","_blank",0,Array())
nVC = nDoc.CurrentController.getViewCursor
ndocument = nDoc.CurrentController.Frame
Do
pn = pn + 1
oTC = oDoc.Text.createTextCursorByRange(oVC)
oVC.jumpToEndOfPage
oTC.gotoRange(oVC,true)
oVC.gotoRange(oTC,false)
dispatcher.executeDispatch(document,".uno:Copy","",0,Array())
dispatcher.executeDispatch(ndocument,".uno:Paste","",0,Array())
nDoc.storeToURL(url & pn & ".odt",Array())
nVC.gotoStart(true)
nVC.String = ""
Loop While oVC.jumpToNextPage
nDoc.dispose
End Sub |
|
|