Startschwierigkeiten mit Makro

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

Moderator: Moderatoren

neandr
*
Beiträge: 11
Registriert: Di, 18.10.2011 15:32

Startschwierigkeiten mit Makro

Beitrag von neandr »

Meine Absicht von M$office zu OO zu wechseln und mit Makros zu arbeiten schlägt leider fehl.

OO hat -- wie M$ -- eine Aufzeichenfunktion, prima, nur leider ist der entsprechende Menüpunkt nicht aktiv.

Wie aktiviere ich den Aufzeichnungsmodus .. leider finde ich in den Help nix dazu.

Günter
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Startschwierigkeiten mit Makro

Beitrag von komma4 »

Welche OOo-Version?
Welches Betriebssystem?
Welches OOo-Modul?
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)
neandr
*
Beiträge: 11
Registriert: Di, 18.10.2011 15:32

Re: Startschwierigkeiten mit Makro

Beitrag von neandr »

Blame on me :?

LibreOffice 3.3.4
OOO330m19 (Build:401)
tag libreoffice-3.3.3.1, Ubuntu package 1:3.3.4-0ubuntu1

Auf Ubuntu 11.04

Ich versuche ein Textdokument zu "automatisieren".
Das Dokument hat eine Tabelle, in eine Zelle davon solle eine Verwendungsnummer eingehalten, die dann mit den Doku-Namen bestimmen soll. D.h. lesen des Feldes, bilden des zu Doku-Namen und abspeichern soll mittels einer Schaltfläche ablaufen.
Dazu brauche ich wohl ein Makro ..


Danke
Günter
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Startschwierigkeiten mit Makro

Beitrag von komma4 »

neandr hat geschrieben:Dazu brauche ich wohl ein Makro ..
So sieht es aus...

Mit Aufzeichnen wirst Du aber nicht zum Ziel kommen, wie ich das sehe.

Einschalten kannst Du den Menupunt über
Extras>Optionen...>LibreOffice>Allgemein>Aktiviere experimentelle (instabile) Funktionen

Name oder Index der Tabelle?
Welche Zelle?
Welches Vorgabeverzeichnis?

Willst Du nicht vielleicht lieber eine Datei>Eigenschaften...>Benutzerdefinierte Eigenschaften verwenden, und diese dann an irgendeine Stelle des Dokuments wieder verwenden? [Programmierung ist einfacher 8)]
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)
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Startschwierigkeiten mit Makro

Beitrag von F3K Total »

Hallo,
angenommen, Deine Tabelle hat den Namen "Tabelle1", die Verwendungsnummer hast Du in die Zelle "B2" der Tabelle eingegeben, dann speichert dieses Makro die Datei im Ordner des Ausgangsdokumentes.

Code: Alles auswählen

Sub save_as_Cellcontent

dim args()
oUrl=thiscomponent.url
oName=thiscomponent.title
oName=replace(oName," ","%20")
oFolder_Url=replace(oUrl,oName,"")

otable=thiscomponent.TextTables.getbyName("Tabelle1")
oCell=otable.getcellbyname("B2")
oDocumentName=oCell.String

ostoreUrl=oFolder_Url+oDocumentName+".odt"
thisComponent.storetourl(ostoreUrl,args())
End Sub
siehe auch Anhang
Gruß R
Dateianhänge
Speichern aus Tabelleninhalt.odt
(11.54 KiB) 41-mal heruntergeladen
neandr
*
Beiträge: 11
Registriert: Di, 18.10.2011 15:32

Re: Startschwierigkeiten mit Makro

Beitrag von neandr »

@komma4 » Heute 20:02
-- Makro kann ich jetzt aufzeichnen .. zumindest ist der Menüpunkt aktiv, prima
-- Der Vorschlag mit den 'Benutzerdefinierten Eigenschaften' klingt logisch, ist aber vom Arbeitsfluß nicht so elegant.

@F3K Total » vor 50 Minuten
-- Prima, das werde ich mal probieren, wohl genau das was ich brauche. Danke
neandr
*
Beiträge: 11
Registriert: Di, 18.10.2011 15:32

Re: Startschwierigkeiten mit Makro

Beitrag von neandr »

neandr hat geschrieben: @F3K Total
-- Prima, das werde ich mal probieren, wohl genau das was ich brauche. Danke
Also das läuft .. nach etwas Gezacke auch innerhalb meines Dokumentes.

Ich hatte mir die Verwendung der Makros einfacher vorgestellt .. vielleicht nur Umgewöhnung. Aber gibt's gute Makro Übersichten (Liste der Befehle etc, Tutorials....) Alles was ich bisher gefunden habe ist eher bescheiden, oder macht nicht den Eindruck einer gut strukturierten Übersicht. Im Help scheint nix zu sein!?

Woran ich im Moment hänge:
Auf der Basis deines Beispiels möchte ich die angefragte Tabellenzelle (bei dir Tab1/Zelle B3) inkrementieren nach dem Speichervorgang. Das geht doch?
Vielen dank für deine Hilfe

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

Re: Startschwierigkeiten mit Makro

Beitrag von Stephan »

Liste der Befehle


eine Liste aller Makro-Befehle findet sich in der OOo-Hilfe

Methoden, Eigenschaften, Objekte ... des API sind jedoch, genausowenig wie bei VBA, keine Befehle.
Für StarBasic findet sich eine entsprechende Übersicht unter:
http://api.openoffice.org/docs/common/r ... le-ix.html
Alles was ich bisher gefunden habe ist eher bescheiden, oder macht nicht den Eindruck einer gut strukturierten Übersicht.
Schwer zu beantworten, ohne zu wissen was Du bisher gefunden hast und worauf sich diese Aussagen beziehen.
Eine von mir erstellte Übersicht zu Hilfequellen befindet sich in jedem Fall gut sichtbar hier:
viewtopic.php?f=18&t=1553

Das dort verlinkte Material ist hierbei weder vollständig, noch alles was ich persönlich kenne, jedoch ist es so ausgewählt das es, meiner Meinung nach, genügen sollte um selbst einen so weitgehenden Einblick zu gewinnen das man anschließend in der Lage ist sich weitere Materialien selbst zu erschließen.


Gruß
Stephan
neandr
*
Beiträge: 11
Registriert: Di, 18.10.2011 15:32

Re: Startschwierigkeiten mit Makro

Beitrag von neandr »

Danke Stefan,

deine Übersicht steht ja auch als erster Beitrag in diesem Forum ... und wenn man (hier ich :shock: ) das auch Ernst nimmt, hat man ja schon eine gute Zusammenstellung/Übersicht. Sollte vielleicht in der Überschrift mit MUST READ gezeichnet werden! :o

Günter
neandr
*
Beiträge: 11
Registriert: Di, 18.10.2011 15:32

Re: Startschwierigkeiten mit Makro

Beitrag von neandr »

@Stephan

Ja da findet sich so manches, nicht alle Links in den Dokumenten funktionieren, aber das ist ja nicht deine Sache.

In dem Dokument http://www.pitonyak.org/OOME_3_0.odt in Kapitel 14.9.4 "Tables contain cells" bin ich dann fündig geworden einen abgefragten Zellinhalt und geänderten Wert zurück zu schreiben mit:

Code: Alles auswählen

otable.getCellByName("C3").setValue(nValue)
. Sieht ganz einfach aus, ist auch logisch, aber leider habe ich nirgends *strukturiert* die Notierung gefunden.
Bin ich da zu blind? Oder gibt es doch noch eine bessere Übersicht?

Also das Beispiel von 'F3K Total' habe ich jetzt erweitert zu:

Code: Alles auswählen

Sub speichern_mitCellContent
dim args()
oUrl=thiscomponent.url
oName=thiscomponent.title
oName=replace(oName," ","%20")
oFolder_Url=replace(oUrl,oName,"")

REM  *** Bilde Dokumentennamen aus zwei Zellinhalten ***
otable=thiscomponent.TextTables.getbyName("Tabelle1")
oCell1=otable.getcellbyname("B3")
oCell2=otable.getcellbyname("C3")
oDocumentName = oCell1.String & oCell2.String
ostoreUrl=oFolder_Url+oDocumentName+".odt"

REM *** Inkrementiere 2.Zellinhalt ***
nValue = val(oCell2.String) + 1
otable.getCellByName("C3").setValue(nValue)

REM *** Zeige Ergebnis ***
msgbox("speichern: " + ostoreUrl + "   Neuer Wert: " + (nValue))

REM *** Speichern ***
thisComponent.storetourl(ostoreUrl,args())

End Sub
Vielen Dank für eure Hilfe.
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Startschwierigkeiten mit Makro

Beitrag von Stephan »

Sollte vielleicht in der Überschrift mit MUST READ gezeichnet werden!
Aus meiner Sicht nicht denn ich halte die Teilnehmer dieses Forums hier für fähig eigenverantwortlich zu entscheiden was sie lesen sollten - Sorry, nur alles doppelt als wichtig zu kennzeichnen sorgt nur dafür das dann wieder alles gleich unwichtig erscheint wenn man es nicht ständig übertrieben betont.


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

Re: Startschwierigkeiten mit Makro

Beitrag von Stephan »

Sieht ganz einfach aus, ist auch logisch, aber leider habe ich nirgends *strukturiert* die Notierung gefunden.
Bin ich da zu blind? Oder gibt es doch noch eine bessere Übersicht?
Ich nannte bereits die IDL-Referenz, diese ist strukturiert und die vollständigste und aktuellste Gesamtübersicht die es gibt:
http://api.openoffice.org/docs/common/r ... le-ix.html



Gruß
Stephan
Antworten