Seite 1 von 1
Diagramme ausblenden
Verfasst: Mi, 19.12.2012 13:02
von zero82
Hallo liebes Forum,
ich möchte gerne per Listenfeld zwei Kategorien einbauen, mit der ich zwei Diagramme aus- bzw. einblenden möchte.
Kategorie A zeigt Diagramm A und Kategorie B zeigt Diagramm B an.
Ich habe folgendes ausprobiert aber er zeigt mir immer einen Fehler an. Woran kann das liegen?
Code: Alles auswählen
Private Sub Diagramm()
If CheckBox1.Value = True Then
ActiveSheet.ChartObjects("Diagramm1").Visible = True
ActiveSheet.ChartObjects("Diagramm2").Visible = False
Else
ActiveSheet.ChartObjects("Diagramm1").Visible = False
ActiveSheet.ChartObjects("Diagramm2").Visible = True
End If
End Sub
Danke schonmal
zero82
Re: Diagramme ausblenden
Verfasst: Do, 20.12.2012 22:26
von F3K Total
Hi,
der Code kommt woher? Excel? Geht in Starbasic so nicht.
Habe länger geforscht, dieser Code funktioniert, wenn Du deine Diagramme richtig benamst. (rechte Maustaste auf das Diagramm->Name... -> Diagramm1 und Diagramm2 eintragen):
Code: Alles auswählen
Private Sub Diagramm()
oSheet = Thiscomponent.currentcontroller.activeSheet
opage = oSheet.drawpage
oform = opage.forms.Formular
for i = 0 to opage.count - 1
oshape = opage(i)
if oshape.LinkDisplayName = "Diagramm1" then sPersistName1 = oshape.PersistName
if oshape.LinkDisplayName = "Diagramm2" then sPersistName2 = oshape.PersistName
next i
ocharts = oSheet.charts
for i = 0 to ocharts.count -1
oChart = ocharts(i)
if ochart.Name = sPersistName1 then odia1 = ochart.EmbeddedObject.drawpage(0)
if ochart.Name = sPersistName2 then odia2 = ochart.EmbeddedObject.drawpage(0)
next i
CheckBox1 = oForm.CheckBox1
If CheckBox1.state = 1 Then
odia1.Visible = True
odia2.Visible = False
Else
odia1.Visible = False
odia2.Visible = True
End If
End Sub
Anbei ein Beispiel.
Gruß R
Re: Diagramme ausblenden
Verfasst: Fr, 21.12.2012 08:26
von zero82
Hallo,
wenn ich dieses Skript ausführe taucht bei mir folgender Fehler auf:

- Fehler.jpg (135.14 KiB) 2692 mal betrachtet
Re: Diagramme ausblenden
Verfasst: Fr, 21.12.2012 14:18
von F3K Total
Hi,
wenn es sich um meine Datei handelt, die läuft bei mir, liegt es vielleicht an deiner OpenOffice Version (3.2).
Aktuell ist 3.4.1
Gruß R
Re: Diagramme ausblenden
Verfasst: Fr, 21.12.2012 15:22
von zero82
Hallo F3K,
ja daran könnte das liegen. Ich probiere es mal später an meinem Laptop. Da habe ich die neuere Version drauf und berichte ob es funktioniert hat. Ich frage mich aber, wie das sein kann. Normalerweise müssten beide OOo Versionen kompatibel sein, oder habe ich einen Denkfehler.
Bis denne...
Re: Diagramme ausblenden
Verfasst: Fr, 21.12.2012 15:40
von F3K Total
Hi,
da scheint sich was getan zu haben.
Unter 3.3 läuft und funktioniert das Makro, unter 3.4.1 läuft es ohne Fehlermeldung, das Diagramm wird aber nicht ausgeblendet. Komisch.
Ich forsche mal in Version 3.4.1 weiter.
So, schon fertig: Unter 3.4.1 läuft dieses:
Code: Alles auswählen
Private Sub Diagramm()
oSheet = Thiscomponent.currentcontroller.activeSheet
opage = oSheet.drawpage
oform = opage.forms.Formular
for i = 0 to opage.count - 1
oshape = opage(i)
if oshape.Name = "Diagramm1" then odia1 = oshape
if oshape.Name = "Diagramm2" then odia2 = oshape
next i
CheckBox1 = oForm.CheckBox1
If CheckBox1.state = 1 Then
odia1.Visible = True
odia2.Visible = False
Else
odia1.Visible = False
odia2.Visible = True
End If
End Sub
Gruß R
Edit: Unter LO 3.5 und LO 3.6 läuft wiederum nur die erste Version.
Re: Diagramme ausblenden
Verfasst: Fr, 21.12.2012 15:58
von zero82
Hi,
ich habe die alte Version unter LO 3.6 ausprobiert funktioniert tadellos. Nur in OOo kommt die Fehlermeldung. Wie gesagt, ich probiere es mal unter Oo 3.4 aus und berichte. Mal sehen woran das liegt.
Re: Diagramme ausblenden
Verfasst: Fr, 21.12.2012 21:40
von zero82
hi,
ja es ist genau so wie du sagtest. Bei oOo funktioniert das Makro ohne Fehlermeldung aber das Diagramm wird nicht aus- bzw. eingeblendet. Mhhh...
Re: Diagramme ausblenden
Verfasst: Fr, 21.12.2012 21:56
von F3K Total
Na, für OOo 3.4.1 habe ich doch den zweiten Code gepostet.
Gruß R