Datenpiloten mittels Makro o. Skript aktualisiern
Moderator: Moderatoren
-
- Beiträge: 6
- Registriert: Fr, 10.08.2007 18:53
Datenpiloten mittels Makro o. Skript aktualisiern
Hi Zusammen,
ich bin noch recht ungeübt mit dem Open VBA oder wie es heisst und brauche da eure hilfe
Ich habe mehrere Datenpiloten und einer Tabelle die alle auf die selbe Quelle zugreifen.
Aus diesem Grund hätte ich gern ein Makro das nacheinander alle Piloten akualisiert.
Hinzu kommt das die Blätter die die Piloten enthalten ausgeblendet sein sollen/sind
Das VBA in Excel habe ich einigermasen verstanden aber das in OO versteh ich noch nicht.
Ob mir da wohl jemand helfen kann...
ich bin noch recht ungeübt mit dem Open VBA oder wie es heisst und brauche da eure hilfe
Ich habe mehrere Datenpiloten und einer Tabelle die alle auf die selbe Quelle zugreifen.
Aus diesem Grund hätte ich gern ein Makro das nacheinander alle Piloten akualisiert.
Hinzu kommt das die Blätter die die Piloten enthalten ausgeblendet sein sollen/sind
Das VBA in Excel habe ich einigermasen verstanden aber das in OO versteh ich noch nicht.
Ob mir da wohl jemand helfen kann...
Re: Datenpiloten mittels Makro o. Skript aktualisiern
hallo,
viewtopic.php?f=2&t=10971&hilit=
hier hatte ich mich auch schonmal um die lösung des problems bemüht. leider hatte das makro erst funktioniert, um beim nächsten start der datei nichts mehr zu tun
also suche auch ich immer noch.
das thema wurde auch schon in anderen threads angesprochen. vielleicht findest du da noch infos und kannst das Puzzle zusammensetzen.
schöne grüße
bernd
viewtopic.php?f=2&t=10971&hilit=
hier hatte ich mich auch schonmal um die lösung des problems bemüht. leider hatte das makro erst funktioniert, um beim nächsten start der datei nichts mehr zu tun

also suche auch ich immer noch.
das thema wurde auch schon in anderen threads angesprochen. vielleicht findest du da noch infos und kannst das Puzzle zusammensetzen.
schöne grüße
bernd
-
- Beiträge: 6
- Registriert: Fr, 10.08.2007 18:53
Re: Datenpiloten mittels Makro o. Skript aktualisiern
hey danke Dir!
ich versteh einfach die Grundlage noch nicht... ich schau mir das morgenvormittag mal an und ich glaube auch das wir das in diesem thread gelöst bekommen.
was mit excel geht, geht erst recht mit open source programmen
ich versteh einfach die Grundlage noch nicht... ich schau mir das morgenvormittag mal an und ich glaube auch das wir das in diesem thread gelöst bekommen.
was mit excel geht, geht erst recht mit open source programmen

-
- Beiträge: 6
- Registriert: Fr, 10.08.2007 18:53
Re: Datenpiloten mittels Makro o. Skript aktualisiern
also die "nicht Programierer Lösung" sieht so aus:
Vorraussetzung ist das alle Blätter die Piloten enthalten eingeblendet (also nicht "hidden") sind.
Ausgangspunkt muss immer der selbe sein. Du befindest dich in der Pilotenquelle und startest den Recorder.
Danach wählst da den ersten Piloten an und gehst mit der rechten Maustaste auf "refresh" danach den zweiten usw. bis alle aktualisiert sind.
Danach kehrst du wieder zur Pilotenquelle zurück und beendest den Aufnahmemodus.
Speicher das Makro in "deine Datei"->Standart->Modul 1-> Makroname
Jetzt schau dir das script an.
Jedesmal wen du einen Piloten aktualisiert hast wurde der eine zeile
eingefügt.
Hier musst jetzt das "rem" zu anfang der zeile löschen, danach erst ist diese zeile aktiv.
Danach musst das Makrofenster nicht speichern, die Änderungen sind automatisch beim verlassen der Editors gespeichert.
Teste das Makro.
Wenn es läuft, weise es einer aktion zu.
z.B. kannst du über Tools -> Customize -> Keyboard eine Tastenkombination belegen.
ich nehme in dem Fall die Funktion BASIC -> OpenOffice.org Basic, das zeigt dir direkt alle verfügbaren Makros für deine Tabelle an.
Bei mir läuft das ganze sehr sauber durch.
Leider ist das die Leienversion des Makros.
In meinem Fall sollten zum Beispiel alle Blätter die Piloten enthalten ausgblendtet sein und nur im hintergrund rechnen.
Somit müsste das script dann die bezeichnung der blätter sowie die namen der Pivots enthalten....
Vorraussetzung ist das alle Blätter die Piloten enthalten eingeblendet (also nicht "hidden") sind.
Ausgangspunkt muss immer der selbe sein. Du befindest dich in der Pilotenquelle und startest den Recorder.
Danach wählst da den ersten Piloten an und gehst mit der rechten Maustaste auf "refresh" danach den zweiten usw. bis alle aktualisiert sind.
Danach kehrst du wieder zur Pilotenquelle zurück und beendest den Aufnahmemodus.
Speicher das Makro in "deine Datei"->Standart->Modul 1-> Makroname
Jetzt schau dir das script an.
Jedesmal wen du einen Piloten aktualisiert hast wurde der eine zeile
Code: Alles auswählen
rem dispatcher.executeDispatch(document, ".uno:RecalcPivotTable", "", 0, Array())
Hier musst jetzt das "rem" zu anfang der zeile löschen, danach erst ist diese zeile aktiv.
Danach musst das Makrofenster nicht speichern, die Änderungen sind automatisch beim verlassen der Editors gespeichert.
Teste das Makro.
Wenn es läuft, weise es einer aktion zu.
z.B. kannst du über Tools -> Customize -> Keyboard eine Tastenkombination belegen.
ich nehme in dem Fall die Funktion BASIC -> OpenOffice.org Basic, das zeigt dir direkt alle verfügbaren Makros für deine Tabelle an.
Bei mir läuft das ganze sehr sauber durch.
Leider ist das die Leienversion des Makros.
In meinem Fall sollten zum Beispiel alle Blätter die Piloten enthalten ausgblendtet sein und nur im hintergrund rechnen.
Somit müsste das script dann die bezeichnung der blätter sowie die namen der Pivots enthalten....
Re: Datenpiloten mittels Makro o. Skript aktualisiern
wie wäre dies:
die blätter mit den pivottabellen nur für den zweck des aktualisierens sichtbar machen und dann wieder verschwinden lassen?
wenn du den (irgendwo selbst erstellten) knopf "alle pivottabellen aktualisieren" drückst werden erst alle blätter sichtbar gemacht , danach aktualisiert und zum schluß wieder unsichtbar gemacht. mit dieser "Krücke" hab ich mir geholfen, zwar in nem anderen zusammenhang aber das sollte eigentlich trotzdem gehen.
http://www.dannenhoefer.de/faqstarbasic ... l#Zweig187
schönes wochenede
bernd
die blätter mit den pivottabellen nur für den zweck des aktualisierens sichtbar machen und dann wieder verschwinden lassen?
wenn du den (irgendwo selbst erstellten) knopf "alle pivottabellen aktualisieren" drückst werden erst alle blätter sichtbar gemacht , danach aktualisiert und zum schluß wieder unsichtbar gemacht. mit dieser "Krücke" hab ich mir geholfen, zwar in nem anderen zusammenhang aber das sollte eigentlich trotzdem gehen.
http://www.dannenhoefer.de/faqstarbasic ... l#Zweig187
schönes wochenede
bernd
Re: Datenpiloten mittels Makro o. Skript aktualisiern
habe alles so gemacht jedoch noch kein erfolg 
könnte es sein, daß es daran liegt , daß das makro nicht richtig läuft, weil ich mehrere datenpiloten aus einer tabelle erstelle (weil leider nicht alle spalten in einen piloten reingehen)und weil einige spaltenköpfe und den jeweiligen piloten gleichzeitig vorkommen ?
lg bernd

könnte es sein, daß es daran liegt , daß das makro nicht richtig läuft, weil ich mehrere datenpiloten aus einer tabelle erstelle (weil leider nicht alle spalten in einen piloten reingehen)und weil einige spaltenköpfe und den jeweiligen piloten gleichzeitig vorkommen ?
lg bernd
Re: Datenpiloten mittels Makro o. Skript aktualisiern
in den weiten des netzes habe ich ein script gefunden das allerdings auf excel basiert
Wenn man das auf Openoffice "ummünzen" könnte vielleicht würde es dann funktionieren?
lg bernd
Code: Alles auswählen
Sub PivotAktual()
dim n as integer
dim nn as integer
for n = 1 to worksheets.count
for nn =1 To worksheets(n).pivottables.count
worksheets(n).pivottables(nn).refreshtable
next nn
next n
end sub
lg bernd
-
- Beiträge: 6
- Registriert: Fr, 10.08.2007 18:53
Re: Datenpiloten mittels Makro o. Skript aktualisiern
hierzu müssen wir wissen wie man die Pivots anwählt.
In Excel sieht das so ungefähr so aus:
worksheets("Blatt").pivottables(PivotTable1)."Befehl" (z.B. activate; refresh; select... )
das heisst man gibt den namen an und sagt akuakisiere. Genau das suche ich für unser Star Basic
Momentan weiss ich nicht einmal welche namen die Pivottables geschweige denn die Blätter haben. In excel kann man das einfach zuweisen, oder per default sind sie eben Pivottable 1 usw.
Das kriegen wir schon noch
In Excel sieht das so ungefähr so aus:
worksheets("Blatt").pivottables(PivotTable1)."Befehl" (z.B. activate; refresh; select... )
das heisst man gibt den namen an und sagt akuakisiere. Genau das suche ich für unser Star Basic
Momentan weiss ich nicht einmal welche namen die Pivottables geschweige denn die Blätter haben. In excel kann man das einfach zuweisen, oder per default sind sie eben Pivottable 1 usw.
Das kriegen wir schon noch

Re: Datenpiloten mittels Makro o. Skript aktualisiern
Hallo ,
hab grad gesehen daß eine neue version rausgekommen ist.
Ist unser Problemchen damit vielleicht gelöst?
Was sagt ihr dazu, mal bei den entwicklern nachzufragen ob sich so etwas einbauen läßt, oder wäre das zu vermessen ?
Ich kenn mich da nicht so aus was man frgen darf oder nicht
schönen Sonntag Abend noch
bernd
hab grad gesehen daß eine neue version rausgekommen ist.
Ist unser Problemchen damit vielleicht gelöst?
Was sagt ihr dazu, mal bei den entwicklern nachzufragen ob sich so etwas einbauen läßt, oder wäre das zu vermessen ?
Ich kenn mich da nicht so aus was man frgen darf oder nicht

schönen Sonntag Abend noch
bernd
Re: Datenpiloten mittels Makro o. Skript aktualisiern
Guten Morgen.
In der Hoffnung auf version 3 möchte ich nochmals nachfragen.
gibt es eine Lösung für oben angesprochenes Problem? mittlerweile sind bei mir nämlich so einige Datenpilottabellen angefallen, die noch immer jede einzeln aktualisiert werden wollen
vielen Dank Bernd
In der Hoffnung auf version 3 möchte ich nochmals nachfragen.
gibt es eine Lösung für oben angesprochenes Problem? mittlerweile sind bei mir nämlich so einige Datenpilottabellen angefallen, die noch immer jede einzeln aktualisiert werden wollen

vielen Dank Bernd
Re: Datenpiloten mittels Makro o. Skript aktualisiern
Keine Ahnung welche Hoffnung Du auf Version 3.0 setzt bei einer Sache die eigentlich schon immer funktioniert.In der Hoffnung auf version 3 möchte ich nochmals nachfragen.
gibt es eine Lösung für oben angesprochenes Problem?
z.B.:
Code: Alles auswählen
Sub Main
With Thiscomponent.Sheets()
For i = 0 To .Count-1
With .GetByIndex(i).getDataPilotTables()
If .Count > 0 Then
For j = 0 To .Count-1
.getbyindex(j).refresh()
Next j
End If
End With
Next i
End With
End Sub
Gruß
Stephan
Re: Datenpiloten mittels Makro o. Skript aktualisiern
WOW.
Es sieht so aus und fühlt sich so an als würde es tatsächlich funktionieren .
Vielen Dank!!!!
Könnte mir bitte jemand noch erklären was dieses script tut ? Damit ichs besser verstehe .
lg Bernd
Es sieht so aus und fühlt sich so an als würde es tatsächlich funktionieren .

Vielen Dank!!!!
Könnte mir bitte jemand noch erklären was dieses script tut ? Damit ichs besser verstehe .
lg Bernd