Makro

Setup und Komponenten-übergreifende Probleme.

Moderator: Moderatoren

pepperepep
Beiträge: 5
Registriert: Fr, 02.06.2006 14:04

Makro

Beitrag von pepperepep »

Hallo zusammen,
gibt es in OO eine Möglichkeit selbstgeschrieben Makros als Datei zu speichern bzw. wo werden die Makros auf meiner Platte standardmäßig gespeichert? Danke!
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Beitrag von komma4 »

Quellcode als Datei speichern:
in der Basic IDE, Symbolleiste "Makro", standardmässig das letzte Symbol "BASIC speichern"
(mit dem Symbol links daneben "BASIC laden" lassen sich solchermassen gespeicherte *.BAS Dateien wieder laden)

Ansonsten werden die Module (in XML-Format!) gespeichert:
[Windows-Pfade]
C:\Dokumente und Einstellungen\w.rohr\Anwendungsdaten\OpenOffice.org2\user\basic\

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)
pepperepep
Beiträge: 5
Registriert: Fr, 02.06.2006 14:04

Beitrag von pepperepep »

Danke für deine Antwort. Das mit den BAS Dateien wußte ich schon. Kann ich den Pfad, wo die XML's gespeichert werden auch ändern?
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Beitrag von lorbass »

pepperepep hat geschrieben:Danke für deine Antwort. Das mit den BAS Dateien wußte ich schon. Kann ich den Pfad, wo die XML's gespeichert werden auch ändern?
Selbstverständlich! Unter Extras > Optionen.

Bild

Gruß
lorbass
pepperepep
Beiträge: 5
Registriert: Fr, 02.06.2006 14:04

Beitrag von pepperepep »

Danke dir! Hab unter den angegebenen Pfaden mal geschaut, aber da find ich nicht mein Makro. Hab dann auch mal versucht, das ganze unter einem anderen Ordner zu speichern, aber das tat er nicht.
Ich muss doch da "nur" eine XML Datei finden oder? Wie müßte mein Makro dann genau abgespeichert werden (Ordner, Datein, etc.)?
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Hab dann auch mal versucht, das ganze unter einem anderen Ordner zu speichern, aber das tat er nicht.


Wie versucht?
Wie müßte mein Makro dann genau abgespeichert werden (Ordner, Datein, etc.)?
So wie Du es brauchst, woher sollen wir wissen wie Du es speichern willst?

Nee, Sorry man kann ein einfaches Problem auch so verkomplizieren das es niemand mehr versteht, denn eigentlich geht das ganze Speichern automatisch richtig i.d.S. mit dem physischen Speicherplatz wirst Du als User garnicht belastet.
Deine Makros sind entweder Dokumentmakros, dann sind sie im Dokument gespeichert oder es sind OOo-Makros (globale Makros) dann in den OOo-(User)-Biblotheken. Wo Du gespeichert hast kannst aber nur Du wissen und nicht wir. Wie Deine Einstellungen ggf. geändert wurden weißt auch nur Du und nicht wir.

Ein Makro wird immer in dem Modul der Bibliothek gespeichert die Du ausgewählt hast und nur Du kannst wissen welche das war.
Ist das Makro (dessen Quelltext) in der Basic-IDE zu sehen ist die Bibliothek/Modul in der Symbolleiste im links stehenden Kombinationsfeld abzulesen.
Steht dort beispielsweise [Meine Makros & Dialoge].Standard dann sind die Makros ebend in der Bibliothek Standard im Modul dessen Namen Du unten auf dem Reiter des Aktiven Moduls ablesen kannst, des aktuellen Benutzer, welche sich physisch dort befindet wo unter Extras-Optionen-OOo-Pfade-Basic angegeben.
Ganz schematisch und keinesfalls zwingend ist das unter Windows beispielsweise:
C:\Dokumente und Einstellungen\<USERNAME>\Anwendungsdaten\OOo2\User\Basic\Standard\<Modulname>.xba

Und Dokumentmakros finden sich im Dokumentarchiv im Ordner Basic und Unterordnern die den Namen der Bibliotheken tragen.



Gruß
Stephan
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey pepperepep,

was willst du eigentlich genau erreichen?
Alle deine Makros sind Bestandteil einer Bibliothek - und die wiederum kann von dir an zwei verschiedenen Stellen abgespeichert werden:
Im Dokument - dann müsstest du die ZIP Datei auseinandernehmen - und im Bereich "Meine Makros". Diese finden sich dann wieder unter dem Pfad der Benuterinstallation von OOo - dort im Bereich Basic - unter dem Namen der Bibliothek - also zum Beispiel "Standard" - wenn du nichts anderes vergeben hast.
Nur: Die Dateien kannst du nicht so einfach "Verschieben". Die Inhalte und die Dateien selbst sind nämlich wiederum Bestandteil der Dateien "script.xlb" bzw. "script.xlc" sowie "dialog.xlb" bzw. "dialog.xlc".
Die *.xlb Dateien befinden sich innerhalb der Bibilotheksordner, die *.xlc im Basic-Ordner selbst. Diese werden vom Programm "gepfelgt" und als Steuerdateien dringend benötigt. Entfernst du nun eine Bibliothek direkt, so gibt es Chaos. Fügst du eine hinzu - so passiert gar nichts - die findet OOo später nicht.
Also - was genau willst du erreichen?

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
pepperepep
Beiträge: 5
Registriert: Fr, 02.06.2006 14:04

Beitrag von pepperepep »

ich wollte quasi eine Datei verschicken, die jemand dann einfach in einen Ordner kopieren muss und es funktioniert und nicht erst den Code verschicken, einfügen, etc. Aber das mit dem "Verschieben" geht wie Toxitom geschrieben hat nicht. Danke trotzdem!
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

ich wollte quasi eine Datei verschicken, die jemand dann einfach in einen Ordner kopieren muss und es funktioniert
Ja und was ist 'quasi verschicken' und was soll funktionieren?
Das wäre mutmaßlich eine typische Anwendung für ein Dokumentmakro, wenn denn das Makro nur in dem Dokument arbeiten soll - Problemlos und unkomplziert. Ob es das soll weiß ich nicht, das müßtest Du sagen.
Aber das mit dem "Verschieben" geht wie Toxitom geschrieben hat nicht.
Wo hast er das geschrieben? Er hat gschrieben:
Nur: Die Dateien kannst du nicht so einfach "Verschieben". Die Inhalte und die Dateien selbst sind nämlich wiederum Bestandteil der Dateien "script.xlb" bzw. "script.xlc" sowie "dialog.xlb" bzw. "dialog.xlc".
also 'nicht so einfach' und nicht das nicht.

Nur ebend Du hast wahrscheinlich völlig falsche Vorstellungen wie Du das erreichen kannst was Du willst. Wahrscheinlich ginge es ganz einfach wenn Du uns sagen würdest was Du erreichen willst und nicht wie.

Dann könnten wir nämlich höchstwahrscheinlich eine Lösung anbieten. Ohne zu wissen was Du willst können wir das nicht.


Gruß
Stephan
pepperepep
Beiträge: 5
Registriert: Fr, 02.06.2006 14:04

Beitrag von pepperepep »

es geht darum ein und dasselbe Makro auf mehreren Rechnern hinzuzufügen, ohne denjenigen mit großem Aufwand zu beschäftigen. Ich fände es halt schon nervig, wenn mir jemand so einen Codeblock schickt, neues Makro, einfügen, etc. Wäre doch viel angenehmer, wenn man nur eine Datei in einen bestimmten Ordner legen müßte...
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Pepperepep,
geht darum ein und dasselbe Makro auf mehreren Rechnern hinzuzufügen

Na ja, wenn es ein allgemeines Makro werden sein soll, das unbedingt im "Meine Makros" Bereich existieren muss, so gibt es fertige Installer-Dateien, die die Installation auf Knopfdruck erledigen. Das sit dann die einfachste Methode.
Stefan hat einen solchen Installer mal modifiziert, ich nutze den auch - auf meine Verhältnisse angepasst. Das wäre dann immer das einfachste. Ein solcher Installer installiert eine komplette Bibliothek mit allen Modulen (Basic und Dialogen), meldet sie an - fertig. Dannach muss OOo nunr noch neu gestartet werden - alles Paletti.

Wenn du soetwas suchst - da hilft die Stefan bestimmt - ansosnten gebe ich dir noch einen Lnk, wo du meine Insallerdatein findest. Dei kannst du dann entsprechend "ummodeln" :wink:

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

es geht darum ein und dasselbe Makro auf mehreren Rechnern hinzuzufügen, ohne denjenigen mit großem Aufwand zu beschäftigen.
Das wußten wir doch bereits. Es ist wirklich nicht möglich zu beschreiben welchem Zweck das dient? Ich hielte es ja zunächst für am Einfachsten das als Dokumentmakro weiterzugeben, weiß aber nicht ob das für Deine speziellen Zwecke geeignet wäre denn Du nennst diese nicht. Wchtig wäre zu wissen ob das Makro innerhalb eines bestimmten Dokumentes arbeiten soll.
Ich fände es halt schon nervig, wenn mir jemand so einen Codeblock schickt, neues Makro, einfügen, etc.
das würde auch kaum jemand tun.
Wäre doch viel angenehmer, wenn man nur eine Datei in einen bestimmten Ordner legen müßte...
?
Wenn ich sehe wie der Thread begann doch wohl kaum, Du wußtest ja nicht einmal wo die Makros gespeichert sind und nun soll das (für andere?) einfach sein? Ich denke es über die Benutzeroberfläche zu installieren ist einfach weil man dort über nichts nachdenken muß, und das eigentlich jeder kann der eine Datei öffnen kann.


Allgemein:
Üblicherweise kannst Du nur Bibliotheken weitergeben, die nun durchaus auch nur ein Modul mit einem Makro enthalten können, das Ganze entweder:

*in einem Dokument zur Benutzung innerhalb des Dokuments oder zum Kopieren über die GUI "Makros verwalten" von OOo (siehe OOo-Hilfe)
*als Makrodokument mit integriertem Installer
z.B.:
http://www.ooomacros.org/dev.php#104592

*als sog. package was ab OOo 2.0 über Extras-Packagemanager zu installieren ist, in OOo 1.x über pckchkg.exe im Programmvereichnis von OOo
z.B.:
http://www.ooomacros.org/dev.php#101618 (erstellen)
http://www.oooforum.org/forum/viewtopic.phtml?t=15020 (Installieren in 1.x)

Einzelne Codeabschnitte/Makros ohne die genannten Möglichkeiten weiterzugeben, sollte mit einem selbstprogrammierten Installer möglich sein, aber ich habe da nichts Fertiges. Das Verfahren dürfte auch etwas sehr ungewöhnlich sein. Zur Entwicklung von 'normalen' Installern dürfte der folgende Thread ein guter Einstiegspunkt sein:
http://www.oooforum.org/forum/viewtopic ... =installer

Wenn du soetwas suchst - da hilft die Stefan bestimmt - ansosnten gebe ich dir noch einen Lnk, wo du meine Insallerdatein findest. Dei kannst du dann entsprechend "ummodeln"
Naja, da ist Thomas jetzt bescheiden :wink: , er hat ein ganzes Makro geschrieben und dokumentiert, ich habe nur etwas beim Installer geholfen indem ich einige Zeilen Code weitergab. Es dürfte das hier gemeint sein:
http://www.amt-wiesbaden.de/downloads/D ... ler1.0.odt





Gruß
Stephan
Antworten