zwischen Blättern wechseln

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

MaximilianWe
**
Beiträge: 29
Registriert: Mo, 08.11.2010 20:25

zwischen Blättern wechseln

Beitrag von MaximilianWe »

je mehr ich mich mit OOBasic befasse, desto mehr macht es Spaß; aber ich bin schon wieder an einem Zaun:
Beim Kopieren von Zellbereichen unter Verwendung von dispatcher.executeDispatch ( document,"uno:GoToCell" , " ",0,....) bzw. ....." uno:Copy"..... würde ich gerne das Kopieren auf einem Blatt und das Einfügen auf einem anderen Blatt realisieren.
Ohne Uno ist das ja z.B. über ThisComonents.Sheets(x) möglich.

Max
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: zwischen Blättern wechseln

Beitrag von Stephan »

Na das ist doch aus der Makroaufzeichnung ganz leicht ersichtlich, oder schreibst Du dispatcher-Makros per Hand?

Der relevante Abschnitt der Aufzeichnug ist:

Code: Alles auswählen

dim args(0) as new com.sun.star.beans.PropertyValue
args(0).Name = "Nr"
args(0).Value = 3

dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args())
wobei der .Value-Wert dem Blattindex plus 1 entspricht, obiges Beispiel springt also vergleichsweise zu .Sheets(2)



Gruß
Stephan
MaximilianWe
**
Beiträge: 29
Registriert: Mo, 08.11.2010 20:25

Re: zwischen Blättern wechseln

Beitrag von MaximilianWe »

Ich gebe zu, dass meine Fragen wohl etwas zu freimütig und unbeschwert waren und zu recht zu einem
(aus)lächelnden Verwundern führen mußten.
Wer das Programmieren zur Assembler/RPG-Zeit begann tut sich halt doch schon schwerer.
Trotzdem danke, und ich verspreche, dass meine Fragen weniger werden.

Max
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: zwischen Blättern wechseln

Beitrag von Stephan »

Ich gebe zu, dass meine Fragen wohl etwas zu freimütig und unbeschwert waren und zu recht zu einem
(aus)lächelnden Verwundern führen mußten.
ja, das war bei mir der FAll
Wer das Programmieren zur Assembler/RPG-Zeit begann tut sich halt doch schon schwerer.
verstehe ich den Zusammenhang nicht, denn ich kenne niemanden der dispatcher-Code quasi lernt um ihn dann per Hand zu schrreiben, was schon deshalb schwierig ist weil es keine Literatur dazu gibt und man deshalb überwiegend gezwungen ist dispatcher-Code aufzuzeichnen um dann nach der Aufzeichnug zu lernen was dort wie abläuft.
UNd das allein war das was mich verwiunderte.
Trotzdem danke, und ich verspreche, dass meine Fragen weniger werden.
Das ist sicher DEine Entscheidung, nur schade finde ich es trotzdem, denn aus Fragen kann man nur lernen.


Gruß
Stephan
mumpel
****
Beiträge: 133
Registriert: So, 22.08.2004 05:27
Wohnort: Lindau (B)
Kontaktdaten:

Re: zwischen Blättern wechseln

Beitrag von mumpel »

Hallo!

Da werfe ich doch gleich mal eine Frage ein.

Gibt es dafür auch einen nativen Code (mir gefällt der Dispatcher nicht)?
In Writer kann man ja mit "JumpToPage" zur gewünschten Seite springen (Beispiel für "Eine Seite zurück": myViewCursor.JumpToPage(myViewCursor.getPage() - 1) ).
Nur in Calc scheint es keinen nativen Code zu geben, "myViewCursor.JumpToTable" funktioniert jedenfalls nicht. Geht das mit nativem Code (ausser mit VBA-Code) oder geht das nicht? Danke!

Gruß, René

Windows 7 Home Premium (auf Acer Desktop PC)
Windows 8 Professional (auf Microsoft Surface Pro 3).
MSO 365 Home Premium
LibreOffice 4.2.
F-Secure Internet Security
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: zwischen Blättern wechseln

Beitrag von Stephan »

Da werfe ich doch gleich mal eine Frage ein.
ja, fragen ist immer gut, zumal wenn ich in dem anderen Foren bestimmte Dinge lese ...
Gibt es dafür auch einen nativen Code (mir gefällt der Dispatcher nicht)?
Ja, natürlich und das ist sowas Normales das der selbst in der FAQ steht, weil es so häufig gebraucht wird:
http://www.dannenhoefer.de/faqstarbasic ... tiver.html
Nur in Calc scheint es keinen nativen Code zu geben
Du machst Spass ... obiger Code ist was ganz Gewöhnliches und nicht etwa Spezialwissen.
In Writer kann man ja mit "JumpToPage" zur gewünschten Seite springen (Beispiel für "Eine Seite zurück": myViewCursor.JumpToPage(myViewCursor.getPage() - 1) ).
Sollte es, wider Erwarten, doch darum gehen zu einer bestimmten Druckseite in Calc zu springen (und nicht zu einem bestimmten Tabellenblatt) weiß ich allerdings tatsächlich keine Lösung.


Gruß
Stephan
mumpel
****
Beiträge: 133
Registriert: So, 22.08.2004 05:27
Wohnort: Lindau (B)
Kontaktdaten:

Re: zwischen Blättern wechseln

Beitrag von mumpel »

Also "setActiveSheet". Danke für den Link! Ist schon in den Favoriten gespeichert. Bis "getByName" war ich schon, nur die letzte Zeile hat gefehlt.
Du machst Spass ... obiger Code ist was ganz Gewöhnliches und nicht etwa Spezialwissen
Ja, aber Dispatchercode. Und dieser ist IMHO schwerer zu merken als nativer Code.

Windows 7 Home Premium (auf Acer Desktop PC)
Windows 8 Professional (auf Microsoft Surface Pro 3).
MSO 365 Home Premium
LibreOffice 4.2.
F-Secure Internet Security
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: zwischen Blättern wechseln

Beitrag von Stephan »

Ja, aber Dispatchercode.


Nein, natürlich nicht denn gemeint war der Link:
http://www.dannenhoefer.de/faqstarbasic ... tiver.html

und ich wollte mit meiner Aussage:
Du machst Spass ... obiger Code ist was ganz Gewöhnliches und nicht etwa Spezialwissen.
nur deutlich machen das ich es schlicht annehme das man, wenn hinreichend viel Starbasic Programmiert, und das tust Du, und Deutsch Spricht, dann auch Michaels FAQ kennen sollte, und ich es für recht komisch halte zu lesen:
Nur in Calc scheint es keinen nativen Code zu geben
denn diese Info ist sehr einfach zu ermitteln, keineswegs nur bei Michael.

Eigentlich geht es nur darum das man bestimmte Quellen (Michaels FAQ gehört dazu) einfach kennen sollte, nicht weil man das muß, sondern weil es bei normalen Erlernen von StarBasic kaum möglich ist bestimmte Dinge nicht zu kennen, weil man zwangsläufig darüber stolpert.



Gruß
Stephan
mumpel
****
Beiträge: 133
Registriert: So, 22.08.2004 05:27
Wohnort: Lindau (B)
Kontaktdaten:

Re: zwischen Blättern wechseln

Beitrag von mumpel »

Ich kenne Michaels Seite schon lange, war aber offensichtlich zu blind. Und Google..., naja wer's kann... :D

Windows 7 Home Premium (auf Acer Desktop PC)
Windows 8 Professional (auf Microsoft Surface Pro 3).
MSO 365 Home Premium
LibreOffice 4.2.
F-Secure Internet Security
Antworten