von MikroC » Di, 30.08.2005 12:13
Habe 'ne Lösung gefunden:
sub chart002
'letzte datenfreie Zeile bestimmen (auch aus diesem Forum)------
Doc = StarDesktop.CurrentComponent
oSheet = Doc.Sheets(0)
oCellCursor = oSheet.createCursor()
oCellCursor.GotoEndOfUsedArea(True)
letzte_Zeile = oCellCursor.getRangeAddress.EndRow
rem Code über "Makro aufnehmen" erzeugt
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:StarChartDataDialog", "", 0, Array())
rem ----------------------------------------------------------------------
dim args2(3) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Name"
args2(0).Value = "Object 4"
args2(1).Name = "Range"
args2(1).Value = "$Tabelle1.$A$1:$A$" & letzte_Zeile+1 'Datenbereich wird erweitert
args2(2).Name = "ColHeaders"
args2(2).Value = false
args2(3).Name = "RowHeaders"
args2(3).Value = false
dispatcher.executeDispatch(document, ".uno:ChangeChartData", "", 0, args2())
end sub
-----------------
Dieses Makro dem Ereignis "Dokument sichern" zuordnen (oder wie man will). Schade das es kein Ereignis "update Zelle" gibt oder ich es bisher nicht gefunden habe.
----------------
MikroC
Habe 'ne Lösung gefunden:
sub chart002
'letzte datenfreie Zeile bestimmen (auch aus diesem Forum)------
Doc = StarDesktop.CurrentComponent
oSheet = Doc.Sheets(0)
oCellCursor = oSheet.createCursor()
oCellCursor.GotoEndOfUsedArea(True)
letzte_Zeile = oCellCursor.getRangeAddress.EndRow
rem Code über "Makro aufnehmen" erzeugt
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:StarChartDataDialog", "", 0, Array())
rem ----------------------------------------------------------------------
dim args2(3) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Name"
args2(0).Value = "Object 4"
args2(1).Name = "Range"
args2(1).Value = "$Tabelle1.$A$1:$A$" & letzte_Zeile+1 'Datenbereich wird erweitert
args2(2).Name = "ColHeaders"
args2(2).Value = false
args2(3).Name = "RowHeaders"
args2(3).Value = false
dispatcher.executeDispatch(document, ".uno:ChangeChartData", "", 0, args2())
end sub
-----------------
Dieses Makro dem Ereignis "Dokument sichern" zuordnen (oder wie man will). Schade das es kein Ereignis "update Zelle" gibt oder ich es bisher nicht gefunden habe.
----------------
MikroC