Hallo Bernd,
ich hab' mich jetzt mal da mit bissel "rumlesen" und TryAndError
"reingewuselt":
+ Einfach die CALC-Datei [5] anlegen und das Makro [4] starten.
+ Dann "rangeAddress(0).EndRow = 31 ' = 31.0.21" de-kommentieren.
+ Dann kannst Du mit den "EndRow"-Werten "spielen", das Diagramm wird
immer angepasst.
Falls Probleme, kann ich Dir die CALC und das Makro auch zum Download
bereit stellen.
Vielleicht hilft Dir das weiter,
viele Grüße
Hans-Werner :-))
[1]
https://wiki.openoffice.org/wiki/Documentation/BASIC_Guide/Charts_in_Spreadsheets
[2]
https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1table_1_1XTablePivotCharts.html#a46c06f9f99599d4c32d7deef14948b52
Es gibt nur "addNewByName()" und "removeByName()", aber KEIN
"modifyByName()".
Mit anderen Worten, man muss (wohl) erst das "alte" Diagramm löschen und
legt dann das "neue" Diagramm an.
Blöd nur, mit "removeByName()" habe ich das Löschen nicht hinbekommen.
Hab's dann mit "oShapes.remove(oShape)" gemacht. Erklären kann ich's
nicht, vielleicht hat jemand im Forum eine passende Erklärung - oder ich
hab' einfach nur was falsch gemacht ...
[3] https://forum.openoffice.org/en/forum/viewtopic.php?f=9&t=91518
[4] Makro
Sub ChartModify
Dim oDoc As Object
Dim oChart As Object
Dim oCharts As Object
Dim oSheet As Object
Dim oShape As Object
Dim oShapes As Object
Dim rangeAddress(0) As new com.sun.star.table.CellRangeAddress
Dim Rect As New com.sun.star.awt.Rectangle
oDoc = ThisComponent
oSheet = oDoc.Sheets(0)
oShapes = oSheet.DrawPage
If (oShapes.getCount() > 0 ) Then ' falls noch kein Diagramm existiert
oShape = oShapes(0)
oShapes.remove(oShape)
EndIf
Rect.X = 6000
Rect.Y = 1500
Rect.Width = 20000
Rect.Height = 10000
rangeAddress(0).StartColumn = 0 ' Spalten-Index beginnt bei 0
rangeAddress(0).StartRow = 0 ' Zeilen-Index beginnt bei 0
rangeAddress(0).EndColumn = 1 ' = Spalte B
'rangeAddress(0).EndRow = 15 ' = 15.0.21
rangeAddress(0).EndRow = 31 ' = 31.0.21
oCharts = oSheet.Charts
oCharts.addNewByName("Chart1",Rect,RangeAddress(),True,True)
End Sub
[5] CALC-Datei
Datum | Wert
01.01.21 | 10
02.01.21 | 20
03.01.21 | 30
04.01.21 | 40
05.01.21 | 50
06.01.21 | 60
07.01.21 | 70
08.01.21 | 80
09.01.21 | 90
10.01.21 | 100
11.01.21 | 110
12.01.21 | 120
13.01.21 | 130
14.01.21 | 140
15.01.21 | 150
16.01.21 | 160
17.01.21 | 170
18.01.21 | 180
19.01.21 | 190
20.01.21 | 200
21.01.21 | 210
22.01.21 | 220
23.01.21 | 230
24.01.21 | 240
25.01.21 | 250
26.01.21 | 260
27.01.21 | 270
28.01.21 | 280
29.01.21 | 290
30.01.21 | 300
31.01.21 | 310
--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy
Context
- Re: [de-users] Diagramm Range per Makro ändern · OoOHWHOoO
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.