BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Auto-Makros

Alles zur Programmierung im LibreOffice.
Antworten
Weissnochnix
Beiträge: 4
Registriert: Di 26. Nov 2019, 18:32

Auto-Makros

Beitrag von Weissnochnix » Di 26. Nov 2019, 18:42

Gibt es in LibreOffice Auto-Makros wie in MS und wenn ja wie heißen sie.

AutoNew
AutoClose

Gefunden habe ich jedenfalls keine.

LG

gogo
Beiträge: 1072
Registriert: Sa 5. Feb 2011, 19:07

Re: Auto-Makros

Beitrag von gogo » Mi 27. Nov 2019, 00:46

Makros laufen in LO immer automatisch wenn sie gestartet wurden. Man muss sie nie noch extra animieren - ist das denn bei MS-Office so?
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Weissnochnix
Beiträge: 4
Registriert: Di 26. Nov 2019, 18:32

Re: Auto-Makros

Beitrag von Weissnochnix » Mi 27. Nov 2019, 13:52

AutoNew,
AutoClose,
machen bei MS folgendes.
Rufe ich u.a. eine (Brief)Vorlage auf. Wenn AutoNew in der Vorlage vorhanden ist wird diese Prozedur bei öffen ausgeführt.
Beim Schleißen des Briefes dann AutoClose, wenn vorhanden.
Ich benutze AutoNew (bei MS) um, wenn ich ein Brief schreiben möchte ein Verz. mit Jahr und Monat zu erstellen, sofern es nicht vorhanden ist. ("c:\Private Briefe\2019\12\). Damit sortiert ich meine Briefe und muss nicht suchen.
Statt AutoNew könnte man das auch einem Schalter auf das Makro setzen, nur ich bin faul^^.
Daher würde es mich schon freuen so einen Befehl zu haben. Bin nämlich auf LO umgestiegen und passe gerade meine MS Vorlagen an LO an.
Sub AutoNew
call Meine Proc
end sub
Ich hoffe das war jetzt ausführlich genug, um zu verstehen, warum ich die Befehle haben möchte, wenn sie in LO den vorhanden sind.
LG

F3K Total
Beiträge: 2409
Registriert: So 10. Apr 2011, 10:10

Re: Auto-Makros

Beitrag von F3K Total » Mi 27. Nov 2019, 17:11

Moin,
es gibt verschiedenste "auslösende Eregnisse"
  • auf Applikations und Dokumentenebene, Menü Extras/Anpassen/Reiter Ereignisse:
    APP.png
    APP.png (48.08 KiB) 3576 mal betrachtet
  • auf Tabellen: Tabellenereignisse
    Tab.png
    Tab.png (42.57 KiB) 3576 mal betrachtet
  • auf Elementebene, Eigenschaften/Reiter Ereignisse
    Element.PNG
    Element.PNG (31.89 KiB) 3576 mal betrachtet
Statt AutoNew kannst du dein Makro an neues Dokument hängen.
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

Weissnochnix
Beiträge: 4
Registriert: Di 26. Nov 2019, 18:32

Re: Auto-Makros

Beitrag von Weissnochnix » Mi 27. Nov 2019, 17:43

Danke, sowas hatte ich gesucht.
LG

gogo
Beiträge: 1072
Registriert: Sa 5. Feb 2011, 19:07

Re: Auto-Makros

Beitrag von gogo » Do 28. Nov 2019, 00:16

Dachte ich mir eh ;)

Achte beim Erstellen des Makros darauf, dass es dem Ereignis "Neues Dokument" zugeordnet wird, dann sollte es nur beim Erstellen des Dokumentes aus der Vorlage ausgeführt werden.
Das Makro wird dann aber auch in jedem der Dokumente vorhanden sein, könnte also zu lästigen Nachfragen bei jedem Öffnen führen, und bei E-Mail Scannern Panik auslösen - abgesehen davon sollte man Code nicht überall lose rumliegen haben.
Am besten ist es wenn der Code gar nicht in der Vorlage gespeichert ist, sondern wenn Du ein loses Makro schreibst, das auf Basis einer Vorlage ein neues Dokument erstellt und dieses dann mal abspeichert.
Also: https://www.dannenhoefer.de/faqstarbasi ... ffnen.html
und dann:
https://www.dannenhoefer.de/faqstarbasi ... chern.html

Also:

Code: Alles auswählen

Sub NeueDateiAusVorlage_SpeichernUnterDefiniertemPfad

	DIM DummyFileProp() as new com.sun.star.beans.PropertyValue
	VorlagenURL=converttourl("/Pfad/zur/Vorlage/VorlagenTest.ott")
	SpeicherURL=converttourl("/Pfad/wo/das/neue/Dok/hin/soll/Test_" & format(now,"YYYY-MM-DD") & ".odt")

	oDocument = StarDesktop.loadComponentFromURL(VorlagenURL, "_blank", 0, DummyFileProp() )
	oDocument.storeAsUrl(SpeicherURL, DummyFileProp())

end sub
Man kann in der neuen Datei eine Makro-Zuordnung zu einem Ereignis per Makro aufheben. Und man kann die Bibliothek auch zur Laufzeit verändern (d.h. den Makrocode aus dem Dokument löschen) - letzteres ist aber wirklich als experimentell anzusehen - einfacher ist die Lösung oben. Das Makro dann an ein Icon in der Iconliste binden und fertig...

edit: Code verschönert
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

F3K Total
Beiträge: 2409
Registriert: So 10. Apr 2011, 10:10

Re: Auto-Makros

Beitrag von F3K Total » Do 28. Nov 2019, 17:27

gogo hat geschrieben:
Do 28. Nov 2019, 00:16
Das Makro wird dann aber auch in jedem der Dokumente vorhanden sein, könnte also zu lästigen Nachfragen bei jedem Öffnen führen
Sorry, da muss ich widersprechen. Wenn ein Makro, das unter "Meine Makros" liegt, auf Applikationeebene (Leerer OpenOffice Bilschirm)
EAE.png
EAE.png (6.33 KiB) 3516 mal betrachtet
über Menü Extras/Anpassen/Reiter Ereignisse an das Ereignis "Neues Dokument" gehängt wird, wird es auch nur beim Erzeugen eines neuen Dokumentes ausgeführt, hat nichts mit dem neuen Dokument zu tun.
Allerdings wird es dann bei jedem neuen Dokument, ob Calc, Writer, Base ... ausgeführt
Will man es auf einen bestimmten Dokumententyp eingrenzen, kann man dies z.B. innerhalb des Makros, durch Abfrage des Dokumententyps erledigen, Beispiel:

Code: Alles auswählen

SUB NEUES_CALC_DOCUMENT(EVENT)
    IF EVENT.SOURCE.supportsservice("com.sun.star.sheet.SpreadsheetDocument") then
        msgbox "ich bin ein neues Calc-Dokument"
    ENDIF
END SUB
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

gogo
Beiträge: 1072
Registriert: Sa 5. Feb 2011, 19:07

Re: Auto-Makros

Beitrag von gogo » Fr 29. Nov 2019, 00:14

Ich hab' dem "Startbildschirm" noch nie ein Makro zugeordnet. Wusste gar nicht, dass so etwas vorgesehen ist :lol:
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Weissnochnix
Beiträge: 4
Registriert: Di 26. Nov 2019, 18:32

Re: Auto-Makros

Beitrag von Weissnochnix » Fr 29. Nov 2019, 05:10

@ gogo Und schon wieder hat es was gelernt. :lol:

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten