von turtle47 » Fr, 18.06.2010 17:50
Hi,
hier mal eine Möglichkeit einen kopierten Zellbereich in ein neues Dokument einzufügen.
Code: Alles auswählen
Sub CopyPasteRange()
Dim oSourceDoc, oSourceSheet, oSourceRange
Dim oTargetDoc, oTargetSheet, oTargetCell
Dim oDisp, octl
Dim NoArg()
oSourceDoc=ThisComponent
octl = oSourcedoc.getCurrentController()
oSourceframe = octl.getFrame()
oSourceSheet= oSourceDoc.Sheets().getbyName("Test2")
oSourceRange = oSourceSheet.getCellRangeByName("A1:F10")
oDisp = createUnoService("com.sun.star.frame.DispatchHelper")
octl.Select(oSourceRange)
oDisp.executeDispatch(octl, ".uno:Copy", "", 0, NoArg())
sURL = "private:factory/scalc"
oTargetDoc = Stardesktop.loadComponentFromURL(sURL, "_blank", 0, NoArg())
Sheet=oTargetDoc.createInstance("com.sun.star.sheet.Spreadsheet")
oTargetDoc.Sheets.insertNewByName("Test2",0)
oTargetSheet = oTargetDoc.getSheets.getbyName("Test2")
oTargetCell = oTargetSheet.getCellByPosition(0,0)
oTargetDoc.getCurrentController().Select(oTargetCell)
oTargetframe = oTargetDoc.getCurrentController().getFrame()
oDisp.executeDispatch(oTargetFrame, ".uno:Paste", "", 0, NoArg())
End Sub
Viel Erfolg.
Jürgen
Hi,
hier mal eine Möglichkeit einen kopierten Zellbereich in ein neues Dokument einzufügen.
[code]Sub CopyPasteRange()
Dim oSourceDoc, oSourceSheet, oSourceRange
Dim oTargetDoc, oTargetSheet, oTargetCell
Dim oDisp, octl
Dim NoArg()
oSourceDoc=ThisComponent
octl = oSourcedoc.getCurrentController()
oSourceframe = octl.getFrame()
oSourceSheet= oSourceDoc.Sheets().getbyName("Test2")
oSourceRange = oSourceSheet.getCellRangeByName("A1:F10")
oDisp = createUnoService("com.sun.star.frame.DispatchHelper")
octl.Select(oSourceRange)
oDisp.executeDispatch(octl, ".uno:Copy", "", 0, NoArg())
sURL = "private:factory/scalc"
oTargetDoc = Stardesktop.loadComponentFromURL(sURL, "_blank", 0, NoArg())
Sheet=oTargetDoc.createInstance("com.sun.star.sheet.Spreadsheet")
oTargetDoc.Sheets.insertNewByName("Test2",0)
oTargetSheet = oTargetDoc.getSheets.getbyName("Test2")
oTargetCell = oTargetSheet.getCellByPosition(0,0)
oTargetDoc.getCurrentController().Select(oTargetCell)
oTargetframe = oTargetDoc.getCurrentController().getFrame()
oDisp.executeDispatch(oTargetFrame, ".uno:Paste", "", 0, NoArg())
End Sub [/code]
Viel Erfolg.
Jürgen