The following macro copies the contents of a given sheet into a newly created of a second document:
Sub Main
firstDoc = ThisComponent
selectSheetByName(firstDoc, "Sheet2")
dispatchURL(firstDoc,".uno:SelectAll")
dispatchURL(firstDoc,".uno:Copy")
secondDoc = StarDesktop.loadComponentFromUrl("private:factory/scalc","_blank",0,dimArray())
secondDoc.getSheets().insertNewByName("inserted",0)
selectSheetByName(secondDoc, "inserted")
dispatchURL(secondDoc,".uno:Paste")
End Sub
sub selectSheetByName(document, sheetName)
document.getCurrentController.select(document.getSheets().getByName(sheetName))
end sub
Sub dispatchURL(document, aURL)
Dim noProps()
Dim URL as new com.sun.star.util.URL
frame = document.getCurrentController().getFrame()
URL.Complete = aURL
transf = createUnoService("{@see com.sun.star.util.URLTransformer}")
transf.parseStrict(URL)
disp = frame.queryDispatch(URL, "", {@see com.sun.star.frame.FrameSearchFlag:SELF} OR {@see com.sun.star.frame.FrameSearchFlag:CHILDREN})
disp.dispatch(URL, noProps())
End Sub