[gelöst]Makro automatisch ausführen, aber wie?
Moderator: Moderatoren
[gelöst]Makro automatisch ausführen, aber wie?
Hallo, ich habe ein Privatbrief Template erstellt und einen Dialog geschrieben, um die Adressdaten zu erfassen. Soweit so gut .... allerdings würde ich das Makro gerne automatisch ausführen lassen, wenn ich ein neues Dokument auf Basis des Template erstelle. Dazu sei noch erklärt, dass sich das entsprechende Makro (VB-Code) natürlich in dem gespeicherten Template befindet.
Außerdem öffnet sich jedesmal nach dem Schliessen der Dialoges das Code-Fenster. Wie kann ich das verhindern? Habe jetzt für dieses Problem ein neues Thema eröffnet.
Außerdem öffnet sich jedesmal nach dem Schliessen der Dialoges das Code-Fenster. Wie kann ich das verhindern? Habe jetzt für dieses Problem ein neues Thema eröffnet.
Zuletzt geändert von HHTiger am Fr, 21.12.2012 15:15, insgesamt 2-mal geändert.
ich verwende OpenOffice 3.1.4 auf Windows 7 Ultimate
Re: Makro automatisch ausführen, aber wie?
Untersuche die Ereignisse unter Extras > Anpassen (Dokument erzeugt o.a.) und weise das Makro diesem Ereignis zu. Achte darauf (Auswahlliste unten), dass das Ereignis an der richtigen Stelle registriert wird.HHTiger hat geschrieben:Hallo, ich habe ein Privatbrief Template erstellt und einen Dialog geschrieben, um die Adressdaten zu erfassen. Soweit so gut .... allerdings würde ich das Makro gerne automatisch ausführen lassen, wenn ich ein neues Dokument auf Basis des Template erstelle.
VB = Visual Basic. Das ist eine MS-Variante von Basic. Ich kann mir nicht vorstellen, dass du wirklich mit VB arbeitest. Das Basic von OO heißt Star-Basic (aus historischen Gründen) oder OO-Basic oder so.Dazu sei noch erklärt, dass sich das entsprechende Makro (VB-Code) natürlich in dem gespeicherten Template befindet.
Dazu müsstest du die Arbeitsweise genauer erläutern - Schritt für Schritt - oder ein Beispieldokument hochladen. Vielleicht ist das einfach eine Folge davon, dass du das Makro bisher manuell startest; oder es tritt ein Fehler auf, von dem du nichts erzählst.Außerdem öffnet sich jedesmal nach dem Schliessen der Dialoges das Code-Fenster. Wie kann ich das verhindern?
Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
Re: Makro automatisch ausführen, aber wie?
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Makro automatisch ausführen, aber wie?
Ich verstehe nicht so recht, was Du damit sagen möchtest. Vermute mal du meinst => das Makro dem Ereigniss zuweisen. Das lässt sich jedoch nicht auswählen, da das Makro Bestandteil des Templates ist. Zugewiesen werden können nur die Makros, die nicht Bestandteil des Dokumentes sind. In VBA wäre das Äquivalent "On Open" glaube ich.juetho hat geschrieben:Untersuche die Ereignisse unter Extras > Anpassen (Dokument erzeugt o.a.) und weise das Makro diesem Ereignis zu. Achte darauf (Auswahlliste unten), dass das Ereignis an der richtigen Stelle registriert wird.
Das sollte nur ein Hinweis seien, dass ich das in OO implementierte VB-Derivat (jetzt weiss ich auch dass es Star-Basic, OO-Basic oder so heißt) benutze und NICHT JavaScript, BeanShell oder Python. Sorry für diese etwas "schwammige" Aussage zuvor.VB = Visual Basic. Das ist eine MS-Variante von Basic. Ich kann mir nicht vorstellen, dass du wirklich mit VB arbeitest. Das Basic von OO heißt Star-Basic (aus historischen Gründen) oder OO-Basic oder so.
In Ermangelung besseren Wissens (dies ist mein erstes Project in OO-Writer) habe ich im Template einen Feldtyp "Makro ausführen" benutzt und die Schriftfarbe auf weiß gesetzt, damit es nich mit gedruckt wird. Eine Fehlermeldung gibt es definitiv nicht. Die hätte ich hier sonst auch berichtet (falls ich sie nicht hätte auflösen können).Dazu müsstest du die Arbeitsweise genauer erläutern - Schritt für Schritt - oder ein Beispieldokument hochladen. Vielleicht ist das einfach eine Folge davon, dass du das Makro bisher manuell startest; oder es tritt ein Fehler auf, von dem du nichts erzählst.
ich verwende OpenOffice 3.1.4 auf Windows 7 Ultimate
Re: Makro automatisch ausführen, aber wie?
Sorry, aber ich empfinde es als unhöflich, wenn Du mir hier solch einen Spruch reindrückst ohne zu erklären, was Du damit eigentlich meinst.
Wieso CROSSPOSTING???
Was heisst Crossposting?
Wieso zeigt der Link auf ein anderes Forum?
Welche Referenz soll fehlen?
Wieso ist mein Posting unhöflich?
Unter Crossposting verstehe ich das Posten desselben Postings unter verschiedenen Rubriken des selben Forums!
Zuletzt geändert von HHTiger am Di, 18.12.2012 22:07, insgesamt 1-mal geändert.
ich verwende OpenOffice 3.1.4 auf Windows 7 Ultimate
Re: Makro automatisch ausführen, aber wie?
Moin,
bzgl. Crossposting:
Du hast die gleiche Frage in mehreren Foren gestellt.
Du beschäftigst also mehrere Leute mit der gleichen Frage.
Antworten die z.B. hier gegeben wurden, sind im anderen Forum nicht sichtbar und werden ggf. mehrfach bearbeitet. Unnötigerweise. Darum ist das unhöflich.
Wenn du schon in zwei Foren nachfragst solltest Du sie wenigstens verlinken (das ist mit Referenz gemeint)
Hier noch ein anderer Beitrag zum Thema
R
bzgl. Crossposting:
Der Link zeigt auf den gleichen Beitrag von Dir! In eben einem anderen Forum.HHTiger hat geschrieben:Wieso zeigt der Link auf ein anderes Forum?
Welche Referenz soll fehlen?
Du hast die gleiche Frage in mehreren Foren gestellt.
Du beschäftigst also mehrere Leute mit der gleichen Frage.
Antworten die z.B. hier gegeben wurden, sind im anderen Forum nicht sichtbar und werden ggf. mehrfach bearbeitet. Unnötigerweise. Darum ist das unhöflich.
Wenn du schon in zwei Foren nachfragst solltest Du sie wenigstens verlinken (das ist mit Referenz gemeint)
Hier noch ein anderer Beitrag zum Thema
Das geht, Makros aus einem Dokument können gestartet werden, siehe Beitrag unten von Stephan.HHTiger hat geschrieben:da das Makro Bestandteil des Templates ist. Zugewiesen werden können nur die Makros, die nicht Bestandteil des Dokumentes sind
R
Zuletzt geändert von F3K Total am Di, 18.12.2012 22:18, insgesamt 3-mal geändert.
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Makro automatisch ausführen, aber wie?
dann solltest Du DEine Version von OO oder LO nennen, denn normalerweise ist das selbstverständlich möglich, Beispiel anhängend.Vermute mal du meinst => das Makro dem Ereigniss zuweisen. Das lässt sich jedoch nicht auswählen, da das Makro > Bestandteil des Templates ist.
es handelt sich um einen ganz normalen Basic-Dialekt unter Vielen und kein VB-Derivat. (Wenn überhaupt wäre StarBasic mit VBA zu vergleichen, nicht jedoch mit VB.)ich das in OO implementierte VB-Derivat
Gruß
Stephan
- Dateianhänge
-
- Dokumentvorlage_mit_Autostartmakro .ott
- (9.03 KiB) 185-mal heruntergeladen
Re: Makro automatisch ausführen, aber wie?
Hallo Stephan,
vorab: Dein Beispiel (vielen Dank dafür!) funktionert bei mir, allerdings kann ich die Erstellung nicht so ganz nachvollziehen. Ich benutze OpenOffice 3.4.1.
Von der Sache her weist Du dem Event "Neues Dokument" das Makro "Main" zu. Klar.
Daß das bei Dir funktioniert halte ich für einen Zufall oder Bug, da man das Makro "Main" NICHT aus dem Dokument benutzen kann. Die Tatsache, daß es aber funktioniert kommt meiner Meinung nach daher, daß Du überall die Standard-Vorgaben benutzt.
Beispiel: Makroname "Main", Bibliotheksname "Modul1".
Versuche einmal in meinem Dokument das Makro "ShowMessageBox" aus der Bibliothek "MyModule" mit dem Event "Dokument öffnen" zu verknüpfen.
Die Möglichkeit wird garnicht erst angeboten.
Von der Vorgehensweise müßte es eigentlich folgendermaßen funktionieren:
1.) Das Makro "ShowMessageBox" wurde im Fenster "OpenOffice.org Basic" erstellet.
2.) im selben Fenster dann <Extras> <Anpassen...>
3.) im Fenster "Anpassen" nun das Ereignis "Dokument Öffnen" auswählen und dann rechts unter "Zuweisen:" den Button "Makro..." anklicken.
4.) im Fenster "Makro-Selektor" müsste man jetzt auf der linken Seite unter "Bibliothek" zunächst das Dokument "Test.ott" und die Bibliothek "MyModul" auswählen und dann rechts unter "Name des Makros" das Makro "ShowMessageBox" auswählen und abschliessend mit dem "OK" Button beenden.
Doch leider sind die Schritte unter 4.) nicht möglich, da das Dokument bzw. Template "Test.ott" garnicht angeboten wird!
Zum Thema VB:
"Derivat" ("Abkömmling", von lateinisch derivare "ableiten")
Visual Basic Classic (entwickelt von Alan Cooper) war quasi der Urvater aller heute gängigen BASIC-Dialekte. Insbesobere sind VBA und VBScript Dialekte von VB!
Da z.B. OpenOffice-BASIC über den nahezu identischen Befehlssatz wie VB oder VBA verfügt und sich hauptsächlich in der API von VBA unterscheidet, kann man hier durchaus von einem "Abkömmling" sprich Derivat von VB oder VBA sprechen.
Letztlich sind somit alle heute existierenden BASIC-Dialekte Derivate des 1964 von John George Kemeny und Thomas Eugene Kurtz entwickelten BASIC.
Allerdings muss ich Dir in einem Punkt recht geben. Aus Sicht der Nomenklatur passt Dialekt besser, da es sich um eine Sprache handelt.
Gruss Klaus
vorab: Dein Beispiel (vielen Dank dafür!) funktionert bei mir, allerdings kann ich die Erstellung nicht so ganz nachvollziehen. Ich benutze OpenOffice 3.4.1.
Von der Sache her weist Du dem Event "Neues Dokument" das Makro "Main" zu. Klar.
Daß das bei Dir funktioniert halte ich für einen Zufall oder Bug, da man das Makro "Main" NICHT aus dem Dokument benutzen kann. Die Tatsache, daß es aber funktioniert kommt meiner Meinung nach daher, daß Du überall die Standard-Vorgaben benutzt.
Beispiel: Makroname "Main", Bibliotheksname "Modul1".
Versuche einmal in meinem Dokument das Makro "ShowMessageBox" aus der Bibliothek "MyModule" mit dem Event "Dokument öffnen" zu verknüpfen.
Die Möglichkeit wird garnicht erst angeboten.
Von der Vorgehensweise müßte es eigentlich folgendermaßen funktionieren:
1.) Das Makro "ShowMessageBox" wurde im Fenster "OpenOffice.org Basic" erstellet.
2.) im selben Fenster dann <Extras> <Anpassen...>
3.) im Fenster "Anpassen" nun das Ereignis "Dokument Öffnen" auswählen und dann rechts unter "Zuweisen:" den Button "Makro..." anklicken.
4.) im Fenster "Makro-Selektor" müsste man jetzt auf der linken Seite unter "Bibliothek" zunächst das Dokument "Test.ott" und die Bibliothek "MyModul" auswählen und dann rechts unter "Name des Makros" das Makro "ShowMessageBox" auswählen und abschliessend mit dem "OK" Button beenden.
Doch leider sind die Schritte unter 4.) nicht möglich, da das Dokument bzw. Template "Test.ott" garnicht angeboten wird!
Zum Thema VB:
"Derivat" ("Abkömmling", von lateinisch derivare "ableiten")
Visual Basic Classic (entwickelt von Alan Cooper) war quasi der Urvater aller heute gängigen BASIC-Dialekte. Insbesobere sind VBA und VBScript Dialekte von VB!
Da z.B. OpenOffice-BASIC über den nahezu identischen Befehlssatz wie VB oder VBA verfügt und sich hauptsächlich in der API von VBA unterscheidet, kann man hier durchaus von einem "Abkömmling" sprich Derivat von VB oder VBA sprechen.
Letztlich sind somit alle heute existierenden BASIC-Dialekte Derivate des 1964 von John George Kemeny und Thomas Eugene Kurtz entwickelten BASIC.
Allerdings muss ich Dir in einem Punkt recht geben. Aus Sicht der Nomenklatur passt Dialekt besser, da es sich um eine Sprache handelt.
Gruss Klaus
- Dateianhänge
-
- Test.ott
- (8.83 KiB) 111-mal heruntergeladen
ich verwende OpenOffice 3.1.4 auf Windows 7 Ultimate
Re: Makro automatisch ausführen, aber wie?
Danke für die freundliche Aufklärung, habe bereits eine entsprechende Nachricht in dem anderen Forum gepostet. Werde sie hier jetzt aber nicht wiederholen, um nicht zum Wiederholungstäter zu werden.F3K Total hat geschrieben:Moin,
bzgl. Crossposting:Der Link zeigt auf den gleichen Beitrag von Dir! In eben einem anderen Forum.HHTiger hat geschrieben:Wieso zeigt der Link auf ein anderes Forum?
Welche Referenz soll fehlen?
Du hast die gleiche Frage in mehreren Foren gestellt.
Du beschäftigst also mehrere Leute mit der gleichen Frage.
Antworten die z.B. hier gegeben wurden, sind im anderen Forum nicht sichtbar und werden ggf. mehrfach bearbeitet. Unnötigerweise. Darum ist das unhöflich.
Wenn du schon in zwei Foren nachfragst solltest Du sie wenigstens verlinken (das ist mit Referenz gemeint)
Hier noch ein anderer Beitrag zum Thema
R
Vielleicht als Verbesserungsvorschlag, denn jeder kann mal einen Fehler machen, aber niemand möchte unhöflich sein:
Bitte beachte folgendes zum Thema CROSSPOSTING
Der Beitrag ist wirklich nett geschrieben und verdeutlicht die Position beider Seiten.
ich verwende OpenOffice 3.1.4 auf Windows 7 Ultimate
Re: Makro automatisch ausführen, aber wie?
Moin,
Die Basic Umgebung weiss nicht, welchem Dokument du das Makro zuweisen möchtest, du könntest mehrere Dokumente offen haben.
Wechsle ins aktuelle Dokument (Test.ott) und dort unter Extras/Anpassen ...
Dann klappst auch mit dem Makro.
Gruß R
Hier liegt der Fehler, du versuchst das Makro in der Basic Umgebung zuzuweisen.HHTiger hat geschrieben:2.) im selben Fenster dann <Extras> <Anpassen...>
Die Basic Umgebung weiss nicht, welchem Dokument du das Makro zuweisen möchtest, du könntest mehrere Dokumente offen haben.
Wechsle ins aktuelle Dokument (Test.ott) und dort unter Extras/Anpassen ...
Dann klappst auch mit dem Makro.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Makro automatisch ausführen, aber wie?
Hallo R ... moin, moin
danke für den Tipp. Kaum macht man etwas richtig und schon funzt es. Aber mal im Ernst, es scheint sich tatsächlich um 2 kleine "Bugs" zu handeln, denn der Dialog kann über mehrere Wege aufgerufen werden und
1.) Bug: Aus dem aktuellen Dokument: <Extras><Makros><Makros verwalten><OpenOffice.org Basic ...>. In dem nun offenen Fenster "OpenOffice Basic Makros" kann man nun das richtig Dokument mit dem richtigen Makro auswählen (oder auch nicht, denn das ändert nichts an der weiteren Funktion) und anschliessend mit dem Button <Zuordnen...> in den Dialog "Anpassen" gehen. Dort ist nun in der unteren ComboBox "Speichern in" das richtige Dokument vorbelegt. Von daher ist OO schon bekannt, um welches Dokument es geht. Der Bug besteht nun meiner Meinung nach darin, dass bei einem Doppelklick auf das Ereignis nicht das zuvor ausgewählte Makro übernommen wird bzw. dass der sich öffnende Dialog "Makro-Selektor" nicht die Makros des ausgewählten Dokumentes auflistet.
2.) Bug: ähnlich funktioniert das auch aus der Basic Umgebung. Allerdings wird dort schon in ComboBox "Speichern in" nicht das oder die geöffneten Dokumente angeboten, obwohl es natürlich möglich wäre. (vorausgesetzt Bug 1 wäre bereinigt, dann sollten auch die nachfolgende Dialog richtig laufen)
btw: weiß zufällig jemand wo bzw. bei wem man diese Bugs melden könnte/sollte?
Gruß Klaus
danke für den Tipp. Kaum macht man etwas richtig und schon funzt es. Aber mal im Ernst, es scheint sich tatsächlich um 2 kleine "Bugs" zu handeln, denn der Dialog kann über mehrere Wege aufgerufen werden und
es besteht im unteren Auswahl-Feld (ComboBox) "Speichern in" die Möglichkeit, das Dokument auszuwählen um genau das dem OO mitzuteilen.F3K Total hat geschrieben:Hier liegt der Fehler, du versuchst das Makro in der Basic Umgebung zuzuweisen.
Die Basic Umgebung weiss nicht, welchem Dokument du das Makro zuweisen möchtest, du könntest mehrere Dokumente offen haben.
1.) Bug: Aus dem aktuellen Dokument: <Extras><Makros><Makros verwalten><OpenOffice.org Basic ...>. In dem nun offenen Fenster "OpenOffice Basic Makros" kann man nun das richtig Dokument mit dem richtigen Makro auswählen (oder auch nicht, denn das ändert nichts an der weiteren Funktion) und anschliessend mit dem Button <Zuordnen...> in den Dialog "Anpassen" gehen. Dort ist nun in der unteren ComboBox "Speichern in" das richtige Dokument vorbelegt. Von daher ist OO schon bekannt, um welches Dokument es geht. Der Bug besteht nun meiner Meinung nach darin, dass bei einem Doppelklick auf das Ereignis nicht das zuvor ausgewählte Makro übernommen wird bzw. dass der sich öffnende Dialog "Makro-Selektor" nicht die Makros des ausgewählten Dokumentes auflistet.
2.) Bug: ähnlich funktioniert das auch aus der Basic Umgebung. Allerdings wird dort schon in ComboBox "Speichern in" nicht das oder die geöffneten Dokumente angeboten, obwohl es natürlich möglich wäre. (vorausgesetzt Bug 1 wäre bereinigt, dann sollten auch die nachfolgende Dialog richtig laufen)
btw: weiß zufällig jemand wo bzw. bei wem man diese Bugs melden könnte/sollte?
Gruß Klaus
ich verwende OpenOffice 3.1.4 auf Windows 7 Ultimate
Re: Makro automatisch ausführen, aber wie?
Moin Tiijer,
Es gibt einen Ort an dem der Makro Code gespeichert wird:
Und:
Es gibt Ereignisse, die die Makros ausführen.
Gruß und viel Erfolg beim weiterforschen
R
Ich versuche es mit meinen eigenen Worten zu erklären:HHTiger hat geschrieben:es besteht im unteren Auswahl-Feld (ComboBox) "Speichern in" die Möglichkeit, das Dokument auszuwählen um genau das dem OO mitzuteilen.
Es gibt einen Ort an dem der Makro Code gespeichert wird:
- Makros/Module/Bibliotheken werden innerhalb eines Dokumentes gespeichert, Vorteil: die Makros sind immer dabei.
- Makros/Module/Bibliotheken werden in OpenOffice (z.B. im Benutzerverzeichnis) gespeichert, Vorteil: gleiche Aufgaben in unterschiedlichen Dokumenten nutzen das gleiche Makro, Nachteil, ein an ein Dokumentereignis gebundenes Makro fehlt auf einem anderen Rechner.
Und:
Es gibt Ereignisse, die die Makros ausführen.
- Anwendungsereignisse, wie z.B Programmstart, Programmende. Diese werden unter Extras/Anpassen/Ereignisse im Programmfenster eingetragen. Genau hierhin kommst Du auch, wenn Du aus der Basic Umgebung auf Makro auswählen/zuordnen klickst, denn du befindest Dich auf Anwendungsebene.Anwendungereignisse sind also Dokumentunabhängig.
- Dokumentereignisse, wie z.B. bei Dir Neues Dokument. Diese werden z.B. im Fenster einer Writerdatei unter Extras/Anpassen/Ereignisse eingetragen. Sie sind von diesem Dokument abhängig. Zugeordnete Makros werden bei dem gewählten Dokumentereignis ausgeführt.
- Elementereignisse (z.B. eine Schaltfläche der du unter Kontrollfeld/Ereignisse ein Makro zur Ausführung zuordnen kannst.) Zugeornete Makros werden ausgeführt, wenn dem Element das gewählte Ereignis widerfährt
Gruß und viel Erfolg beim weiterforschen
R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Makro automatisch ausführen, aber wie?
Hallo R.,
Deine Erläuterungen waren zu meinem weiteren Verständnis sehr hilfreich.
Bei dem nachfolgenden Absatz wird es etwas schwieriger. Grundsätzlich stimme ich Dir in vielen Dingen zu, allerdings nicht in allen. ich versuche einmal Dir zu verdeutlichen, wo unsere Meinungen auseinander gehen und warum ich trotzdem davon überzeugt bin, dass es sich um Bug's handelt.
Sechs Gründe vorweg, die für die von mir erwähnten Bug's sprechen:
1.) Egal über welchen Weg man den Dialog "Anpassen" aufruft (bisher habe ich 4 Wege gefunden) erscheint IMMER derselbe Dialog!
2.) Er heisst immer gleich, also KEINE Unterscheidung zwischen Programm Anpassen oder Dokument Anpassen.
3.) In der Hilfe gibt es nur eine einzige Beschreibung zu diesem Dialog (siehe Anhang: HilfeF1.png). Auch hier KEINE Unterscheidung, von WO aus der Dialog aufgerufen wurde!
4.) Egal wie oder von wo der Dialog aufgerufen wird, es werden immer ALLE Ereignisse (sowohl für Dokument als auch für Programm) angezeigt. Bitte nicht Ereignisse mit Speicherort verwechseln!!
5.) Die Unterscheidung zwischen Programm oder Dokument (Speicherort der Verknüpfung) findet über die ComboBox "Speichern in" statt. Und ausschliesslich hierüber!
6.) Nur wenn der Dialog von der Dokument Seite aus aufgerufen wird, hat man Zugriff auf alle Ereignisse aller (derzeit) verfügbaren Speicherorte (also sowohl Dokumente, als auch Programm!) Ausgenommen natürlich die auch später von Dir erwähnten "Elementereignisse".
Zum besseren Verständnis habe ich die folgenden Zitate etwas eingekürzt:
Ich hoffe, ich konnte meinen Standpunkt ausreichend klar darstellen. Im Grundsatz widersprechen wir uns ja auch garnicht! Es ist lediglich so, daß Du davon ausgehst, es sei entscheidend von wo aus der Dialog aufgerufen wird (diese These wird jedoch weder im Dialog, noch in der Dokumentation unterrstützt) und ich behaupte, dass der Dialog, egal von wo aus er aufgerufen wird, auch immer gleich funktionieren sollte (die Begründung spiegelt sich in den 6 zuvor von mir genannten Gründen wieder).
Gruß Klaus
Nachtrag: Dateien jetzt angehängt
Deine Erläuterungen waren zu meinem weiteren Verständnis sehr hilfreich.
Dieser Teil ist absolut richtig und das habe ich auch genau so verstanden. Der folgende Satz ist in diesem Zusammenhang allerdings falsch:F3K Total hat geschrieben:Es gibt einen Ort an dem der Makro Code gespeichert wird:
- Makros/Module/Bibliotheken werden innerhalb eines Dokumentes gespeichert, Vorteil: die Makros sind immer dabei.
- Makros/Module/Bibliotheken werden in OpenOffice (z.B. im Benutzerverzeichnis) gespeichert, Vorteil: gleiche Aufgaben in unterschiedlichen Dokumenten nutzen das gleiche Makro, Nachteil, ein an ein Dokumentereignis gebundenes Makro fehlt auf einem anderen Rechner.
Denn mit der ComboBox "Speichern in" im Dialog "Anpassen" Reiter "Ereignisse" (siehe Anhang: Aus_OO_Dokument.png) wird lediglich der Speicherort der Verknüpfung zwischen Ereigniss und zugewiesenem Makro bestimmt (siehe Anhan: HilfeF1.png). NICHT der Speicherort des Makros selbst!F3K Total hat geschrieben:Diesen Ort, und nur den Ort, wählst Du mit der Combobox "Speichern in" aus.
Bei dem nachfolgenden Absatz wird es etwas schwieriger. Grundsätzlich stimme ich Dir in vielen Dingen zu, allerdings nicht in allen. ich versuche einmal Dir zu verdeutlichen, wo unsere Meinungen auseinander gehen und warum ich trotzdem davon überzeugt bin, dass es sich um Bug's handelt.
Sechs Gründe vorweg, die für die von mir erwähnten Bug's sprechen:
1.) Egal über welchen Weg man den Dialog "Anpassen" aufruft (bisher habe ich 4 Wege gefunden) erscheint IMMER derselbe Dialog!
2.) Er heisst immer gleich, also KEINE Unterscheidung zwischen Programm Anpassen oder Dokument Anpassen.
3.) In der Hilfe gibt es nur eine einzige Beschreibung zu diesem Dialog (siehe Anhang: HilfeF1.png). Auch hier KEINE Unterscheidung, von WO aus der Dialog aufgerufen wurde!
4.) Egal wie oder von wo der Dialog aufgerufen wird, es werden immer ALLE Ereignisse (sowohl für Dokument als auch für Programm) angezeigt. Bitte nicht Ereignisse mit Speicherort verwechseln!!
5.) Die Unterscheidung zwischen Programm oder Dokument (Speicherort der Verknüpfung) findet über die ComboBox "Speichern in" statt. Und ausschliesslich hierüber!
6.) Nur wenn der Dialog von der Dokument Seite aus aufgerufen wird, hat man Zugriff auf alle Ereignisse aller (derzeit) verfügbaren Speicherorte (also sowohl Dokumente, als auch Programm!) Ausgenommen natürlich die auch später von Dir erwähnten "Elementereignisse".
Zum besseren Verständnis habe ich die folgenden Zitate etwas eingekürzt:
Dem stimme ich zu 100% zu. Wenngleich es wenig sinnvoll erscheint, in dieser Situation Ereignisse aufzulisten / anzubieten, die sich NUR auf Dokumente anwenden lassen (allerdings bin ich mir hier jetzt nicht 100% sicher, ob wiklich welche dabei wären).F3K Total hat geschrieben:Es gibt Ereignisse, die die Makros ausführen.
- Anwendungsereignisse, wie z.B Programmstart, Programmende. ........Anwendungereignisse sind also Dokumentunabhängig.
Das Beispiel ist etwas unglücklich gewählt (ich verstehe aber, was Du sagen möchtest), denn das Ereignis Neues Dokument kann natürlich auch ein Programmereignis sein. Entscheidend ist hier wieder wo die Verknüpfung gespeichert wird. Und dazu dient wiederum die ComboBox "Speichern in" in gleichem Fenster. Trotzdem wird auch in dieser Situation das Ereignis Programmstart angeboten. Da kann ich mir beim besten Willen nicht vorstellen, daß es in einem Dokument Sinn ergibt. Getestet habe ich das jedoch nicht.F3K Total hat geschrieben:[*]Dokumentereignisse, wie z.B. bei Dir Neues Dokument. ....... Sie sind von diesem Dokument abhängig. Zugeordnete Makros werden bei dem gewählten Dokumentereignis ausgeführt.[/list]
Dieser Part gehört glaube ich nicht zu dem Dialog "Anpassen". Denke mal Du hast den nur zur vollständige Übersicht mit angefügt.F3K Total hat geschrieben:[*]Elementereignisse (z.B. eine Schaltfläche der du unter Kontrollfeld/Ereignisse ein Makro zur Ausführung zuordnen kannst.) Zugeornete Makros werden ausgeführt, wenn dem Element das gewählte Ereignis widerfährt[/list]
Ich hoffe, ich konnte meinen Standpunkt ausreichend klar darstellen. Im Grundsatz widersprechen wir uns ja auch garnicht! Es ist lediglich so, daß Du davon ausgehst, es sei entscheidend von wo aus der Dialog aufgerufen wird (diese These wird jedoch weder im Dialog, noch in der Dokumentation unterrstützt) und ich behaupte, dass der Dialog, egal von wo aus er aufgerufen wird, auch immer gleich funktionieren sollte (die Begründung spiegelt sich in den 6 zuvor von mir genannten Gründen wieder).
Gruß Klaus
Nachtrag: Dateien jetzt angehängt
- Dateianhänge
-
- HilfeF1.PNG (99.36 KiB) 2984 mal betrachtet
-
- Aus_OO_Dokument.PNG (37.31 KiB) 2984 mal betrachtet
Zuletzt geändert von HHTiger am Do, 20.12.2012 11:38, insgesamt 4-mal geändert.
ich verwende OpenOffice 3.1.4 auf Windows 7 Ultimate
Re: Makro automatisch ausführen, aber wie?
Konnte die zitierten Anhänge leider nicht mitschicken. Es gibt die Fehlermeldung: "Das Kontingent für Dateianhänge ist bereits vollständig ausgenutzt." Was auch immer das bedeuten mag.
Egal, die Anhänge sollten sein:
1. Aus_OO_Dokument.png => Screenshot des Dialoges "Anpassen" von der Dokument-Seite aufgerufen mit einem offenen Dokument.
2. HilfeF1.png => Screenshot der Hilfe-Datei, die durch Drücken der F1-Taste bei geöffnetem Dialog "Anpassen" erscheint.
Kann also von jedem selbst nachvollzogen werden.
Egal, die Anhänge sollten sein:
1. Aus_OO_Dokument.png => Screenshot des Dialoges "Anpassen" von der Dokument-Seite aufgerufen mit einem offenen Dokument.
2. HilfeF1.png => Screenshot der Hilfe-Datei, die durch Drücken der F1-Taste bei geöffnetem Dialog "Anpassen" erscheint.
Kann also von jedem selbst nachvollzogen werden.
ich verwende OpenOffice 3.1.4 auf Windows 7 Ultimate
Re: Makro automatisch ausführen, aber wie?
Nein, und hätte Du Deine Vermutung überprüft hättest du das eigentlich merken müssen.Die Tatsache, daß es aber funktioniert kommt meiner Meinung nach daher, daß Du überall die Standard-Vorgaben benutzt.
Das ist richtig, aber es funktioniert trotzdem nicht weil dort ein Programmfehler ist. Du mußt den Dialog zum Zuweisen über Extras-Anpassen-Ereignisse aufrufen, nicht über den von Dir beschriebenen Weg, dann wird die ZUweisung funktionieren bzw. möglich sein.Von der Vorgehensweise müßte es eigentlich folgendermaßen funktionieren:
Nein, das kann man nicht, denn dazu müßte es davon abstammen, denn "abstammen" heißt ja nun einmal nicht gleich oder ähnlich sein, sondern abstammen.Da z.B. OpenOffice-BASIC über den nahezu identischen Befehlssatz wie VB oder VBA verfügt und sich hauptsächlich in der API von VBA unterscheidet, kann man hier durchaus von einem "Abkömmling" sprich Derivat von VB oder VBA sprechen.
z.B. mögen MS Word 2000 und OOo Writer ähnlich aussehen und funktionieren, nur stammt keines vom Anderen ab, hingegen stammt z.B. go-oo von OOo ab.
Gruß
Stephan