Makros mithilfe von Makros verschieben

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

Moderator: Moderatoren

Karolus
********
Beiträge: 7438
Registriert: Mo, 02.01.2006 19:48

Re: Makros mithilfe von Makros verschieben

Beitrag von Karolus »

Hallo

Da du ja offenbar nicht selbst dieses Makro schreiben willst, würde ich vorschlagen das du den "normalen" Weg einschlägst und das per →→Makros verwalten erledigst.

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Makros mithilfe von Makros verschieben

Beitrag von Stephan »

HerrStruppi hat geschrieben: Do, 19.01.2017 16:52 Hi,

ich würde gerne ein Makro in eine andere Bibliothek verschieben, wie beispielsweise von "Unbenannt 1" also der Makro-Bibliothek eines Dokumentes nach "meine Makros", also in die Dokument-unabhängigen Bibliothek. Das ganze würde ich gerne mit einem neuen Makro machen. Mit dem Ziel, dass man nur einen Button drücken muss und sich die makros automatisch in die eigene Bibliothek verschieben.

Ich hoffe, jemand von euch kann mir helfen. Danke im Voraus schon mal,
HerrStruppi
das hier sollte Dir weiterhelfen:
http://www.dannenhoefer.de/faqstarbasic ... schen.html


Gruß
Stephan
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Makros mithilfe von Makros verschieben

Beitrag von balu »

Hallo HerrStruppi,

Zur Vereinfachung nenne ich die Datei mit dem Makro im folgenden einfach: Quelldatei
ich würde gerne ein Makro in eine andere Bibliothek verschieben
Meinst Du wirklich verschieben, oder doch ehern Kopieren?
Verschieben bedeutet nämlich, das nach erfolgreicher Kopieraktion aus der Quelldatei das dementsprechende Modul in der Quelldatei gelöscht werden muss, und anschließend muss die Quelldatei auch wieder gespeichert werden.


Das ganze würde ich gerne mit einem neuen Makro machen. Mit dem Ziel, dass man nur einen Button drücken muss und sich die makros automatisch in die eigene Bibliothek verschieben.
Lässt sich wohl machen, aber ganz so einfach wie Du dir das vorstellst, mit nur einem Klick, wird es garantiert nicht!.

1. Problem
Meinst Du mit Makro eine ganz bestimmte Sub, oder doch ehern ein BASIC-Modul?


2. Problem
wie beispielsweise von "Unbenannt 1" also der Makro-Bibliothek eines Dokumentes nach "meine Makros", also in die Dokument-unabhängigen Bibliothek.
Der Dateizugriff auf eine ungespeicherte Datei ist schon mal gar nicht so einfach. Besser und einfacher ist der Zugriff auf eine schon gespeicherte Datei die dann auch dementsprechend einen Dateinamen hat.


3.0. Problem
Wenn die Quelldatei nicht nur eine Makro-Bibliothek besitzt, wie z.B. die *Standard*, sondern nebst der *Standard* auch noch weitere wie z.B. *Einstellungen* & *Privat*, dann muss ja von Hand ausgewählt werden welche Bibliothek und welches Modul dann genau gemeint ist. Denn es gibt in dieser Situation keinen auotamtismus der erkennt welches BASIC-Modul das aktuell aktive ist. Bei einem "aktiven" Tabellenblatt wäre das etwas ganz anderes.

3.1. Problem
Wenn mehrere Bibliotheken in der Quelldatei vorhanden sind, so kann es ja durchaus beispielsweise sein, das sich ein Modul aus der Bibliothek *Privat* auf ein Modul in der Bibliothek *Einstellungen* bezieht, und wenn aus beiden Bibliotheken alle Module in eine gemeinsame Bibliothek in *[Meine Makros] -> ??????* kopiert werden, gehen die Zuordnungen verloren. Dies ist aber von mir nur mal so laut gedacht, also so rein theoretisch.


4. Problem
Wenn z.B. in der Bibliothek *[Meine Makros] -> Standard* schon ein gleichnamiges Modul existiert, dann würde es allein schon beim kopieren zu einer Fehlermeldung kommen. Und diese Fehlermeldung muss dann dementsprechend abgefangen werden und dementsprechend darauf reagiert werden, so das Du dann irgendwie eingreifen kannst.


5. Problem
Willst Du wirklich immer alle BASIC-Module in die gleiche Bibliothek wie z.B. *[Meine Makros] -> Standard* kopieren/verschieben? Denn irgendwann wirst Du dann die Übersicht dadrinn verlieren. Und folglich müsste dann mindestens eine weitere Bibliothek angelgt werden. Und dies bedeutet dann widerum, das ein händischer Eingriff in das "Kopiermakro" vorgenommen werden muss um die Zielbibliothek zu ändern.


6. Problem
Soll nur ein ganz bestimmtes BASIC-Modul kopiert/verschoben werden, oder eine bestimmte Auswahl, oder alle?


7. Problem
Geht es dir nur um die BASIC-Module, oder aber auch um die DIALOG-Module? Wenn auch die DIALOGE kopiert/verschoben werden sollen, dann ist das noch mal ne ganz andere Hausnummer und ferner kommt dann der so theoretisch angedachte Punkt *3.1. Problem* praktisch zum tragen, also nix mehr mit theorie!


Ich hoffe das dir jetzt vielleicht klarer ist, das mit nur einem klick auf einen Button es absolut nicht getan ist. Es gibt schließlich genügend Punkte die Du dir vorher genau überlegen musst.

Ach ja, beinahe vergessen.
Wie gut kennst Du dich überhaupt mit Makros aus (StarBasic)?



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 :D
Antworten