Calc Tabelle/n auswählen
Moderator: Moderatoren
Calc Tabelle/n auswählen
Hallo Kenner und Könner,
unter Menü > Bearbeiten > Tabelle > Auswählen kann man einem kleinen Dialog [ Tabellen auswählen ] öffnen
Kann man diesen Dialog in einem Basic Makro direkt nutzen/aufrufen, und den gewähleten Tabellenamen übergeben?
Wenn ja, wie?
unter Menü > Bearbeiten > Tabelle > Auswählen kann man einem kleinen Dialog [ Tabellen auswählen ] öffnen
Kann man diesen Dialog in einem Basic Makro direkt nutzen/aufrufen, und den gewähleten Tabellenamen übergeben?
Wenn ja, wie?
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Calc Tabelle/n auswählen
der Kenner hat geschrieben:Der mir bekannte (einzige) Weg einen internen Dialog aufzurufen ist über den Dispatcher.
Dazu brauchst Du die SLOT ID des Dialogs.
Die Datei slots.sxc ist im Netz (und in meinen Datensicherungen) nicht mehr zu finden.
der Könner hat geschrieben:Programmiere den Dialog nach (als "dynamischer Dialog in Basic/Python: geschätzte 100 Zeilen)
Hilft das?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Calc Tabelle/n auswählen
Hallo komma4,
danke für die schnelle Antwort
MRI hatte mir unter
daher keimte bei mir etwas Hoffnung auf, aber scheinbar zu Unrecht.
Deine Aussage ist natürlich nicht nicht was ich erhofft hatte, aber zumindest brauch ich nicht weiter unnütz rumsuchen,
und von daher ist deine Ansage natürlich auch hilfreich.
danke für die schnelle Antwort
MRI hatte mir unter
- getSheets
acquire () void .uno.XInterface
daher keimte bei mir etwas Hoffnung auf, aber scheinbar zu Unrecht.
Deine Aussage ist natürlich nicht nicht was ich erhofft hatte, aber zumindest brauch ich nicht weiter unnütz rumsuchen,
und von daher ist deine Ansage natürlich auch hilfreich.
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Calc Tabelle/n auswählen
Hallo clag,
unser Moderator Stephan hatte mal ein PDF mit allen SLOT-IDs veröffentlicht. Schau mal hier rein. Da findest Du auch ein einfaches Beispiel wie die SLOT-ID verwendet wird.
Gruß
balu
unser Moderator Stephan hatte mal ein PDF mit allen SLOT-IDs veröffentlicht. Schau mal hier rein. Da findest Du auch ein einfaches Beispiel wie die SLOT-ID verwendet wird.
Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.
wehr rächtschraipfähler findet khan si behalden
wehr rächtschraipfähler findet khan si behalden

Re: Calc Tabelle/n auswählen
Hallo Balu,
gotcha! "26090" ist genau was ich suche
nun müsste ich nur noch wissen wie ich die Namen der selektierten Tabellen in eine Variable bekomme?
Edit:
suchen [29060]
ersetze [26090]
[X] alles ersetzen
wo @F3K Total Recht hat, hat er Recht
gotcha! "26090" ist genau was ich suche
Code: Alles auswählen
sub Test
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, "slot:26090", "", 0, Array())
end sub
Edit:
suchen [29060]
ersetze [26090]
[X] alles ersetzen
wo @F3K Total Recht hat, hat er Recht

Zuletzt geändert von clag am Di, 19.05.2015 19:52, insgesamt 2-mal geändert.
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Calc Tabelle/n auswählen
Du warst schon weiter und hattest eigentlich begriffen das es nicht geht:nun müsste ich nur noch wissen wie ich die Namen der selektierten Tabellen in eine Variable bekomme?
ich hatte aber heute Morgen parallel auf der internationalen API-Liste von AOO gefragt um mich nochmals zu vergewissen und auch dort ist die Auskunft das es nicht geht und man selbst einen entsprechenden Dialog (nach-)programmieren muss.Deine Aussage ist natürlich nicht nicht was ich erhofft hatte, aber zumindest brauch ich nicht weiter unnütz rumsuchen
http://mail-archives.apache.org/mod_mbo ... line.de%3E
Gruß
Stephan
Re: Calc Tabelle/n auswählen
Hallo Stephan,
heute morgen war für mich das Problem der Aufruf dieser "Funktion"
da das nun doch möglich ist, nährte dies erneut meine Hoffnung auf einen brauchbaren Zugriff.
War dann halt nur eine Seifenblasenhoffnung, blopp und weg.
ok dann wird es doch eine DIY Auswahl.
heute morgen war für mich das Problem der Aufruf dieser "Funktion"
da das nun doch möglich ist, nährte dies erneut meine Hoffnung auf einen brauchbaren Zugriff.
War dann halt nur eine Seifenblasenhoffnung, blopp und weg.
ok dann wird es doch eine DIY Auswahl.
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Calc Tabelle/n auswählen
Hallo Stephan,
das ist jetzt aber schade das dies nicht geht.
Als ich erfahren hatte das man die Internen Dialoge per SLOT aufrufen kann, dachte ich das man eventuell wie beim ("com.sun.star.ui.dialogs.FilePicker" vorgehen kann. Dazu gibt es ja z.B. die Function FileOpenDialog. Okay, ich hatte das jetzt nicht mit der Anforderung von clag getestet, dachte aber das es vielleicht irgendwie geht.
Na ja, kann man nix machen.
Gruß
balu
das ist jetzt aber schade das dies nicht geht.
Als ich erfahren hatte das man die Internen Dialoge per SLOT aufrufen kann, dachte ich das man eventuell wie beim ("com.sun.star.ui.dialogs.FilePicker" vorgehen kann. Dazu gibt es ja z.B. die Function FileOpenDialog. Okay, ich hatte das jetzt nicht mit der Anforderung von clag getestet, dachte aber das es vielleicht irgendwie geht.
Na ja, kann man nix machen.
Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.
wehr rächtschraipfähler findet khan si behalden
wehr rächtschraipfähler findet khan si behalden

Re: Calc Tabelle/n auswählen
Hallo zusammen,
und es geht doch!
zumindest für meinen Zweck tut es, sogar genauso wie ich es mir vorgestellt hatte!
Ich brauche die gewählte Tabelle hier nicht zwingend als String, sondern es genügt mir
eine der gelisteten Tabellen vom aktuellen Dokument auszuwählen und das funktioniert!
Und man könnte danach auch die aktuelle Tabelle abfragen und man hat den Namen.
Habe es gerade schon eingebaut
und es geht doch!
zumindest für meinen Zweck tut es, sogar genauso wie ich es mir vorgestellt hatte!
Ich brauche die gewählte Tabelle hier nicht zwingend als String, sondern es genügt mir
eine der gelisteten Tabellen vom aktuellen Dokument auszuwählen und das funktioniert!
Und man könnte danach auch die aktuelle Tabelle abfragen und man hat den Namen.
Habe es gerade schon eingebaut

LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Calc Tabelle/n auswählen
Hallo clag,
26090 funzt!
Gruß R
Funzt nicht.clag hat geschrieben:gotcha! "29060" ist genau was ich suche
26090 funzt!
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Calc Tabelle/n auswählen
Liebe Mitleser,
ich wollte das Ganze eigentlich schweigend aussitzen, weil es mir nicht wichtig vorkam deswegen belehrend aufzutreten nur wichtig ist die ID doch garnicht, es tut genausogut der entsprechende dispatch-Befehl den man erhält wenn man dass Ganze mit dem Makrorekorder aufzeichnet:
Man kann somit auch direkt:
verwenden.
Gruß
Stephan
ich wollte das Ganze eigentlich schweigend aussitzen, weil es mir nicht wichtig vorkam deswegen belehrend aufzutreten nur wichtig ist die ID doch garnicht, es tut genausogut der entsprechende dispatch-Befehl den man erhält wenn man dass Ganze mit dem Makrorekorder aufzeichnet:
Code: Alles auswählen
sub Tabelle_Wechseln
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 = "Tables"
args1(0).Value = Array(1)
dispatcher.executeDispatch(document, ".uno:SelectTables", "", 0, args1())
end Sub
Code: Alles auswählen
dispatcher.executeDispatch(document, ".uno:SelectTables", "", 0, Array())
Gruß
Stephan
Re: Calc Tabelle/n auswählen
Hallo Stephan,
danke das du das doch noch einmal ansprichst und klarstellst
unsicher ob das nun möglicherweise irgend einen "unerlaubten" Funktionsaufruf darstellt.
Aber es scheint sich ja doch um einen ganz Reguläre Funktion zu handeln.
der "Trick" ist wohl das leere Array, dadurch kommt der Auswahl Dialog zum Vorschein!
Mit der Zeile ist dann auch meine Eingangsfrage eindeutig beantwortet,
man kann die Funktion nutzen aber man kann nicht direkt den Namen als String abgreifen.
danke das du das doch noch einmal ansprichst und klarstellst
genau diese Zeile hatte ich dann auch experimentel ermittelt, war mir aber auf Grund der vorherigen hier im ThreadStephan hat geschrieben:dispatcher.executeDispatch(document, ".uno:SelectTables", "", 0, Array())
unsicher ob das nun möglicherweise irgend einen "unerlaubten" Funktionsaufruf darstellt.
Aber es scheint sich ja doch um einen ganz Reguläre Funktion zu handeln.
Code: Alles auswählen
dispatcher.executeDispatch(document, ".uno:SelectTables", "", 0, Array())
Mit der Zeile ist dann auch meine Eingangsfrage eindeutig beantwortet,
man kann die Funktion nutzen aber man kann nicht direkt den Namen als String abgreifen.
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Calc Tabelle/n auswählen
meines Wissens nein, beide Schreibweisen sind funktionell gleichwar mir aber auf Grund der vorherigen hier im Thread
unsicher ob das nun möglicherweise irgend einen "unerlaubten" Funktionsaufruf darstellt
die ID zu kennen ist nur wichtig weil es für soffice den Parameter "Slot" gibt.
Der Verweis auf soffice heißt nun nicht das mman alle dispatch-Commands dahin 'Verfüttern' könnte, aber zumindest für die augeschscheinlich Sinnvollen geht das, beispielsweise den Aufruf des Vorlagendialogs:
soffice slot:5500
(diesen Ausdruck also auf der Kommandozeile eingeben oder, bei Windows, unter Start-Ausführen)
Ja.der "Trick" ist wohl das leere Array, dadurch kommt der Auswahl Dialog zum Vorschein!
Nicht immer aber häufig kann man bei aufgezeichneten Makros die irgendwelche 'Bedienzugriffe' mittels Dialogen beinhalten, den Dialog dadurch zur Anzeige bringen indem man einfach im Makro das aufgezeichnete Parameter-Array für den .uno-Befehl durch ein leeres Arrray ersetzt.
Gruß
Stephan