von balu » Mi, 24.11.2010 12:17
Hallo Leute,
ich klinke mich hier mal ein, da ich eigentlich genau den Code für mich gebrauchen kann. Jedoch habe ich da ein Problem. Denn ich möchte nicht nur einen Bereich, sondern 5 verschiedene an 5 verschiedenen Stellen kopieren. Mit folgendem Code funktioniert es wohl, aber der kommt mir doch zu unelegant vor.
Code: Alles auswählen
oDocument = ThisComponent
oSheet1 = oDocument.Sheets.getByName("Blatt_1")
oSheet2 = oDocument.Sheets.getByName("Blatt_2")
oCellString = oSheet1.getCellRangeByName("AX7").string
oQuellRange = ThisComponent.sheets().getCellRangesbyName(oCellString)
oCellString2 = oSheet1.getCellRangeByName("AX4").string
oQuellRange2 = ThisComponent.sheets().getCellRangesbyName(oCellString2)
oCellString3 = oSheet1.getCellRangeByName("AX6").string
oQuellRange3 = ThisComponent.sheets().getCellRangesbyName(oCellString3)
oCellString4 = oSheet1.getCellRangeByName("AX10").string
oQuellRange4 = ThisComponent.sheets().getCellRangesbyName(oCellString4)
oCellString5 = oSheet1.getCellRangeByName("AX11").string
oQuellRange5 = ThisComponent.sheets().getCellRangesbyName(oCellString5)
oQuellRange = oQuellRange(0)
oQuellRange2 = oQuellRange2(0)
oQuellRange3 = oQuellRange3(0)
oQuellRange4 = oQuellRange4(0)
oQuellRange5 = oQuellRange5(0)
oQuellRangeAddresse = oQuellRange.getRangeAddress
oQuellRangeAddresse2 = oQuellRange2.getRangeAddress
oQuellRangeAddresse3 = oQuellRange3.getRangeAddress
oQuellRangeAddresse4 = oQuellRange4.getRangeAddress
oQuellRangeAddresse5 = oQuellRange5.getRangeAddress
oZiel = oSheet2.getCellRangeByName("A1")
oZiel2 = oSheet2.getCellRangeByName("J1")
oZiel3 = oSheet2.getCellRangeByName("AP1")
oZiel4 = oSheet2.getCellRangeByName("J134")
oZiel5 = oSheet2.getCellRangeByName("AP134")
oZielCellAdresse=oZiel.getCellAddress
oZielCellAdresse2=oZiel2.getCellAddress
oZielCellAdresse3=oZiel3.getCellAddress
oZielCellAdresse4=oZiel4.getCellAddress
oZielCellAdresse5=oZiel5.getCellAddress
oSheet2.copyRange(oZielCellAdresse,oQuellRangeAddresse)
oSheet2.copyRange(oZielCellAdresse2,oQuellRangeAddresse2)
oSheet2.copyRange(oZielCellAdresse3,oQuellRangeAddresse3)
oSheet2.copyRange(oZielCellAdresse4,oQuellRangeAddresse4)
oSheet2.copyRange(oZielCellAdresse5,oQuellRangeAddresse5)
Nun hatte ich ihn auf das hier gekürzt, aber das funktioniert überhaupt nicht wie erhofft.
Code: Alles auswählen
oDocument = ThisComponent
oSheet1 = oDocument.Sheets.getByName("Blatt_1")
oSheet2 = oDocument.Sheets.getByName("Blatt_2")
oCellString = oSheet1.getCellRangeByName("AX7" , "AX4" , "AX6" , "AX10" , "AX11").string
oQuellRange = ThisComponent.sheets().getCellRangesbyName(oCellString)
oQuellRange = oQuellRange(0,0,0,0,0)
oQuellRangeAddresse = oQuellRange.getRangeAddress
oZiel = oSheet2.getCellRangeByName("A1" , "J1" , "AP1" , "J134" , "AP134")
oZielCellAdresse=oZiel.getCellAddress
oSheet2.copyRange(oZielCellAdresse,oQuellRangeAddresse)
Es wird nur "AX7" nach "A1" kopiert, also nur der erste Eintrag. Es gibt auch keine Fehlermeldung.
Nun meine Frage.
Läßt sich überhaupt der erstgenannte Code etwas optimieren, oder ist das in diesem Falle nicht möglich?
Wenn keine Optimierung, oder Verbesserung möglich ist, dann ist das okay und bin mit der Antwort zufrieden.
Für eure Bemühungen sag ich schon mal danke.
Freue mich auf eure Antworten

.
Gruß
balu
Hallo Leute,
ich klinke mich hier mal ein, da ich eigentlich genau den Code für mich gebrauchen kann. Jedoch habe ich da ein Problem. Denn ich möchte nicht nur einen Bereich, sondern 5 verschiedene an 5 verschiedenen Stellen kopieren. Mit folgendem Code funktioniert es wohl, aber der kommt mir doch zu unelegant vor.
[code]
oDocument = ThisComponent
oSheet1 = oDocument.Sheets.getByName("Blatt_1")
oSheet2 = oDocument.Sheets.getByName("Blatt_2")
oCellString = oSheet1.getCellRangeByName("AX7").string
oQuellRange = ThisComponent.sheets().getCellRangesbyName(oCellString)
oCellString2 = oSheet1.getCellRangeByName("AX4").string
oQuellRange2 = ThisComponent.sheets().getCellRangesbyName(oCellString2)
oCellString3 = oSheet1.getCellRangeByName("AX6").string
oQuellRange3 = ThisComponent.sheets().getCellRangesbyName(oCellString3)
oCellString4 = oSheet1.getCellRangeByName("AX10").string
oQuellRange4 = ThisComponent.sheets().getCellRangesbyName(oCellString4)
oCellString5 = oSheet1.getCellRangeByName("AX11").string
oQuellRange5 = ThisComponent.sheets().getCellRangesbyName(oCellString5)
oQuellRange = oQuellRange(0)
oQuellRange2 = oQuellRange2(0)
oQuellRange3 = oQuellRange3(0)
oQuellRange4 = oQuellRange4(0)
oQuellRange5 = oQuellRange5(0)
oQuellRangeAddresse = oQuellRange.getRangeAddress
oQuellRangeAddresse2 = oQuellRange2.getRangeAddress
oQuellRangeAddresse3 = oQuellRange3.getRangeAddress
oQuellRangeAddresse4 = oQuellRange4.getRangeAddress
oQuellRangeAddresse5 = oQuellRange5.getRangeAddress
oZiel = oSheet2.getCellRangeByName("A1")
oZiel2 = oSheet2.getCellRangeByName("J1")
oZiel3 = oSheet2.getCellRangeByName("AP1")
oZiel4 = oSheet2.getCellRangeByName("J134")
oZiel5 = oSheet2.getCellRangeByName("AP134")
oZielCellAdresse=oZiel.getCellAddress
oZielCellAdresse2=oZiel2.getCellAddress
oZielCellAdresse3=oZiel3.getCellAddress
oZielCellAdresse4=oZiel4.getCellAddress
oZielCellAdresse5=oZiel5.getCellAddress
oSheet2.copyRange(oZielCellAdresse,oQuellRangeAddresse)
oSheet2.copyRange(oZielCellAdresse2,oQuellRangeAddresse2)
oSheet2.copyRange(oZielCellAdresse3,oQuellRangeAddresse3)
oSheet2.copyRange(oZielCellAdresse4,oQuellRangeAddresse4)
oSheet2.copyRange(oZielCellAdresse5,oQuellRangeAddresse5)
[/code]
Nun hatte ich ihn auf das hier gekürzt, aber das funktioniert überhaupt nicht wie erhofft.
[code]
oDocument = ThisComponent
oSheet1 = oDocument.Sheets.getByName("Blatt_1")
oSheet2 = oDocument.Sheets.getByName("Blatt_2")
oCellString = oSheet1.getCellRangeByName("AX7" , "AX4" , "AX6" , "AX10" , "AX11").string
oQuellRange = ThisComponent.sheets().getCellRangesbyName(oCellString)
oQuellRange = oQuellRange(0,0,0,0,0)
oQuellRangeAddresse = oQuellRange.getRangeAddress
oZiel = oSheet2.getCellRangeByName("A1" , "J1" , "AP1" , "J134" , "AP134")
oZielCellAdresse=oZiel.getCellAddress
oSheet2.copyRange(oZielCellAdresse,oQuellRangeAddresse)
[/code]
Es wird nur "AX7" nach "A1" kopiert, also nur der erste Eintrag. Es gibt auch keine Fehlermeldung.
Nun meine Frage.
Läßt sich überhaupt der erstgenannte Code etwas optimieren, oder ist das in diesem Falle nicht möglich?
Wenn keine Optimierung, oder Verbesserung möglich ist, dann ist das okay und bin mit der Antwort zufrieden.
Für eure Bemühungen sag ich schon mal danke.
Freue mich auf eure Antworten :D .
Gruß
balu