Automatisches Update eines gesamten Dokumentes

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Automatisches Update eines gesamten Dokumentes

Re: Automatisches Update eines gesamten Dokumentes

von zeeman78 » Do, 23.02.2012 10:56

Hallo Karo,

habe vielen Dank für die schnelle Hilfe.
Funktionniert super, Habe nochmals vielen Dank.

VBA mäßig stehe ich noch ganz am Anfang, darf ich daher bzgl. deines Markros ein paar Fragen stellen? Ich war überrascht, dass der Makro so kurz ist, daher mein Interesse

Sub refresh_Databases --> Name des Makros ist klar.

databaseranges = thiscomponent.DataBaseRanges() --> Was definierst du hier?

for i = 0 to databaseranges.count()-1 --> hier wird eine Schleife vorbereitet, die der Makro abarbeiten soll. Was bedeutet das .count()-1?

databaseranges.getByIndex(i).refresh()--> was definiert diese Zeile

next i --> Marko soll zum nächsten i gehen bis es durch ist, habe ich verstanden

End Sub

Hab vielen Dank im Voraus

Viele grüße
Uwe

Re: Automatisches Update eines gesamten Dokumentes

von Karolus » Do, 23.02.2012 10:37

Hallo
Wahrscheinlich so:

Code: Alles auswählen

Sub refresh_Databases
databaseranges = thiscomponent.DataBaseRanges()
for i = 0 to databaseranges.count()-1
databaseranges.getByIndex(i).refresh()
next i
End Sub


Karo

Automatisches Update eines gesamten Dokumentes

von zeeman78 » Do, 23.02.2012 10:11

Hallo,

Vielen Dank an alle fleißigen Helfer. Durch euch ist die Lernkurve bei mir extrem hoch.

Ich habe folgende Frage. Ich habe eine Base Datenbank und ein Calc-Dokument verknüpft. Hierbei habe ich ungefähr 20 Tabellenblätter nebeneinander, die alle auf unterschiedliche Abfragen verknüpft. Mithilfe des Markro-rekorders habe ich einen Makro erstellt, bei dem ich mit Knopfdruck jeweils das aktuelle Tabellenblatt aktualisieren kann. (siehe anbei) Dies ist bei 20 Blättern etwas mühselig.

sub Aktualisieren
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 ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$2"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DataAreaRefresh", "", 0, Array())
end sub

Wie muss das Marko aussehen, wenn ich alle Tabellenblätter auf einmal aktualisieren möchte? Das müsste doch gehen oder?

Vielen dank im Voraus

Nach oben