Makro1 Daten in Makro2-Dialog schreiben.
Moderator: Moderatoren
Makro1 Daten in Makro2-Dialog schreiben.
Mahlzeit liebe Gemeinde.
Ich weiß nicht ob ihr den Sinn des Betreffs schon versteht, oder nicht, deshalb will ich ihn noch mal verdeutlichen.
Also, ich habe 2 Dateien, jede mit Makro und Dialog ausgestattet.
Datei 1 = Quelldatei
Datei 2 = Zieldatei
Die Quelldatei lädt die Zieldatei Hidden, und führt in ihr einige Aktionen aus. Danach wird die Zieldatei von der Quelldatei auch automatisch gespeichert und geschlossen. Das alles funktioniert wunderbar. Es ist also kein Problem das die Quelldatei IN der Zieldatei irgend etwas macht.
Jetzt möchte ich aber das die Quelldatei das Makro in der Zieldatei etwas ändert, ergänzt oder wie auch immer. In der Zieldatei, im dortigen Dialog, möchte ich einen bestimmten Text fest eintragen. Bis jetzt hole ich mir diesen Text aus der Zieldatei selber. Das möchte ich jetzt aber nicht mehr.
Ich weiß jetzt also nicht wie ich weiter vorgehen muss. Da die Zieldatei ja schon geladen ist, auch wenn nur Hidden, müsste man doch jetzt theoretisch auch auf das schon existierende Makro zugreifen können. Oder geht das nicht, da ja beim laden das Makro durch die nicht aktivierte Sicherheitsabfrage nicht zugelassen ist? <-{ist nur ne Anfängerüberlegung}-
Theoretisch könnte man ja gleich im Dialog von der Zieldatei den Text direkt eintragen. Aber die Quelldatei erstellt aus der Ursprünglichen Zieldatei jeden Monat eine neue Datei, die dann im Dialog den Monatsnamen anzeigt. Es ist also so gesehen eine Variable Angelegenheit.
Meine Fragen lauten also.
- Wie hoch ist der Aufwand dafür um mein Ziel zu erreichen?
- Wie muss ich dazu vorgehen um zum Ziel zu gelangen?
- Oder würdet ihr das ganze anders angehen?
- Könntet ihr mir bitte behilflich sein?
Zur praktischen demonstration habe ich ein abgespecktes Beispielpaket angehängt, welches ich an bestimmten Stellen in den Dateien Kommentiert habe.
Freue mich schon auf eure Antworten, und bedanke mich schon mal für eure Bemühungen.
Gruß
balu
Archivdatei, bitte entpacken.
Ich weiß nicht ob ihr den Sinn des Betreffs schon versteht, oder nicht, deshalb will ich ihn noch mal verdeutlichen.
Also, ich habe 2 Dateien, jede mit Makro und Dialog ausgestattet.
Datei 1 = Quelldatei
Datei 2 = Zieldatei
Die Quelldatei lädt die Zieldatei Hidden, und führt in ihr einige Aktionen aus. Danach wird die Zieldatei von der Quelldatei auch automatisch gespeichert und geschlossen. Das alles funktioniert wunderbar. Es ist also kein Problem das die Quelldatei IN der Zieldatei irgend etwas macht.
Jetzt möchte ich aber das die Quelldatei das Makro in der Zieldatei etwas ändert, ergänzt oder wie auch immer. In der Zieldatei, im dortigen Dialog, möchte ich einen bestimmten Text fest eintragen. Bis jetzt hole ich mir diesen Text aus der Zieldatei selber. Das möchte ich jetzt aber nicht mehr.
Ich weiß jetzt also nicht wie ich weiter vorgehen muss. Da die Zieldatei ja schon geladen ist, auch wenn nur Hidden, müsste man doch jetzt theoretisch auch auf das schon existierende Makro zugreifen können. Oder geht das nicht, da ja beim laden das Makro durch die nicht aktivierte Sicherheitsabfrage nicht zugelassen ist? <-{ist nur ne Anfängerüberlegung}-
Theoretisch könnte man ja gleich im Dialog von der Zieldatei den Text direkt eintragen. Aber die Quelldatei erstellt aus der Ursprünglichen Zieldatei jeden Monat eine neue Datei, die dann im Dialog den Monatsnamen anzeigt. Es ist also so gesehen eine Variable Angelegenheit.
Meine Fragen lauten also.
- Wie hoch ist der Aufwand dafür um mein Ziel zu erreichen?
- Wie muss ich dazu vorgehen um zum Ziel zu gelangen?
- Oder würdet ihr das ganze anders angehen?
- Könntet ihr mir bitte behilflich sein?
Zur praktischen demonstration habe ich ein abgespecktes Beispielpaket angehängt, welches ich an bestimmten Stellen in den Dateien Kommentiert habe.
Freue mich schon auf eure Antworten, und bedanke mich schon mal für eure Bemühungen.
Gruß
balu
Archivdatei, bitte entpacken.
- Dateianhänge
-
- simpel-test.zip
- (31.58 KiB) 131-mal heruntergeladen
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
wehr rächtschraipfähler findet khan si behalden

- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Makro1 Daten in Makro2-Dialog schreiben.
balu hat geschrieben:- Oder würdet ihr das ganze anders angehen?
1. Vorschlag:
Auswahl des Monatsnamens in QUELLE durch Daten>Gültigkeit>Zellbereich>K3:K14
2. Vorschlag:
die Matrix K3:L14 auf ein anderes (verdecktes!) Blatt ("Voreinstellungen"?) verschieben
3. Vorschlag:
habe noch keinen Weg gefunden Änderungen an einem Dialog durch Code zu speichern.
Deshalb würde ich hier den Textinhalt des Kontrollfelds beim Aufruf durch Code setzen... den Wert kannst Du ja aus der QUELLE oder einer INI-Datei laden
Weitere Anmerkungen:
Im Fall, dass der FilePicker keine Vorlagendatei auswählt hast Du noch keine Fehlerbehandlung vorgesehen.
Die Reihenfolge von SCHALTFLÄCHEN sollte (nach CUA, und auch bei Dir) lauten: Zurück - Abbrechen - OK und Beenden
Hoffe, dass hilft Dir schonmal weiter.
Viel Erfolg!
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)
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)
Re: Makro1 Daten in Makro2-Dialog schreiben.
Hallo Winfried,
auch wenn es jetzt noch nicht so ersichtlich ist, so soll in der fertigen Quelldatei alles nur per Dialog gesteuert werden. Und von daher sind die Vorschläge 1 & 2 weniger interessant. Ich weiß natürlich das Du sie als alternativen vorgeschlagen hast.
Ich hatte nämlich schon so ein Gefühl, das es entweder sehr kompliziert ist, oder gar nicht machbar ist. Ich meine ich hätte hier mal was gelesen, das ein Makro ein bestehendes Makro ändert aber das dies mehr auf der Komandozeilenebene stattfand. Falls ich mich nu nicht vertu.
Und ferner sind hinterher die Quell- und die Zieldatei weit voneinander getrennt. Also müsste dann die Zieldatei die Quelldatei suchen, falls die Pfade nicht fest eingestellt werden.
Also werd ich im Prinzip bei meinem alten Verfahren bleiben, jedoch die besagte Zelle in einen *ungefährlichen* Bereich hin verschieben, mit anschließendem ausblenden des Bereichs. Es sei denn, es kommt da noch ne gute Fee vorbei und hat ne Überraschung für mich.
, aber deine Anmerkung versteh ich schon. Diesen Dialog hatte ich am Wochenende mal auf die Schnelle zusammengeschustert, um zu sehen ob und wie meine Idee überhaupt funktioniert. Die sogenannte "Feuertaufe" hat es ja schon mal überstanden, nun müssen noch die Feinheiten erarbeitet werden. Ich bin halt noch Anfänger, und von daher fehlt mir noch so einiges an Wissen.
Ich danke dir dennoch für deine Vorschläge und Anmerkungen
.
Gruß
balu
auch wenn es jetzt noch nicht so ersichtlich ist, so soll in der fertigen Quelldatei alles nur per Dialog gesteuert werden. Und von daher sind die Vorschläge 1 & 2 weniger interessant. Ich weiß natürlich das Du sie als alternativen vorgeschlagen hast.
Wenn Du das schon sagst, soll das was heißen.3. Vorschlag:
habe noch keinen Weg gefunden Änderungen an einem Dialog durch Code zu speichern.
Ich hatte nämlich schon so ein Gefühl, das es entweder sehr kompliziert ist, oder gar nicht machbar ist. Ich meine ich hätte hier mal was gelesen, das ein Makro ein bestehendes Makro ändert aber das dies mehr auf der Komandozeilenebene stattfand. Falls ich mich nu nicht vertu.
So was ähnliches (INI-Datei) ging mir auch schon durch den Kopf. Aber das ist wiederum auch nicht gut, da ja dann die Zieldatei auf die INI zugreifen muss und vor allem dann wissen muss wo die sich befindet. Und die Gefahr das aus Versehen jemand die INI löscht, ist leider gegeben da das Projekt nicht für mich ist.Deshalb würde ich hier den Textinhalt des Kontrollfelds beim Aufruf durch Code setzen... den Wert kannst Du ja aus der QUELLE oder einer INI-Datei laden
Und ferner sind hinterher die Quell- und die Zieldatei weit voneinander getrennt. Also müsste dann die Zieldatei die Quelldatei suchen, falls die Pfade nicht fest eingestellt werden.
Also werd ich im Prinzip bei meinem alten Verfahren bleiben, jedoch die besagte Zelle in einen *ungefährlichen* Bereich hin verschieben, mit anschließendem ausblenden des Bereichs. Es sei denn, es kommt da noch ne gute Fee vorbei und hat ne Überraschung für mich.
Mir jetzt egal wer CUA istWeitere Anmerkungen:
Im Fall, dass der FilePicker keine Vorlagendatei auswählt hast Du noch keine Fehlerbehandlung vorgesehen.
Die Reihenfolge von SCHALTFLÄCHEN sollte (nach CUA, und auch bei Dir) lauten: Zurück - Abbrechen - OK und Beenden

Ich danke dir dennoch für deine Vorschläge und Anmerkungen

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
wehr rächtschraipfähler findet khan si behalden

Re: Makro1 Daten in Makro2-Dialog schreiben.
Aloha
Für solche Zwecke kann man auch einfach die benutzerdefinierten Eigenschaften des Dokuments verwenden (Datei -> Eigenschaften -> Reiter Benutzerdefinierte Eigenschaften)
Beim Erzeugen der Datei gibst Du ihr noch eine entsprechende Eigenschaft mit auf den Weg
und vor dem Starten des Dialogs in der erstellten Datei liest Du die Eigenschaft entsprechend wieder aus und schreibst sie an die gewünschte Stelle
So kannst Du beliebig viele Eigenschaften setzen, so sie denn dokumentspezifisch und nicht dynamisch sind.
Dass diese Eigenschaften von ungeübter Hand einfach mal so gelöscht oder verändert werden, halte ich für sehr unwahrscheinlich.
Für solche Zwecke kann man auch einfach die benutzerdefinierten Eigenschaften des Dokuments verwenden (Datei -> Eigenschaften -> Reiter Benutzerdefinierte Eigenschaften)
Beim Erzeugen der Datei gibst Du ihr noch eine entsprechende Eigenschaft mit auf den Weg
Code: Alles auswählen
oDok2 = starDesktop.loadComponentfromURL(url, "_blank", 0, myFileProp())
oDok2.DocumentProperties.UserDefinedProperties.addProperty("Monatsinfo",129,"Januar")
Code: Alles auswählen
sMonat = thisComponent.DocumentProperties.UserDefinedProperties.getPropertyValue("Monatsinfo")
oMeinDialog.Title = "Daten für Monat " & sMonat
Dass diese Eigenschaften von ungeübter Hand einfach mal so gelöscht oder verändert werden, halte ich für sehr unwahrscheinlich.
Re: Makro1 Daten in Makro2-Dialog schreiben.
Hallo DPunch,
ja das ist eine Alternative die mir gefällt
.
Ich sehe das also richtig, dass ich in den Benutzerdefinierten Eigenschaften bei Name und Wert frei entscheiden kann was ich eintrage, jedoch bei Typ an die 4 vorgegebenen Möglichkeiten gebunden bin. Das ist natürlich Klasse. Schöner wärs natürlich noch wenn ich die Typennummern wüsste. Typennummer 129 entspricht ja dem Typ Text, aber wie sieht das denn z.B. bei Datum aus?
Kannst Du mir das auch noch verraten, beziehungsweise erklären wo ich das nachlesen kann? Denn F1 bringt mich da echt nicht weiter, oder ich übersehe da etwas.
Du bist also meine Fee gewesen. Und dafür danke ich dir herzlich
.
Gruß
balu
ja das ist eine Alternative die mir gefällt

Ich sehe das also richtig, dass ich in den Benutzerdefinierten Eigenschaften bei Name und Wert frei entscheiden kann was ich eintrage, jedoch bei Typ an die 4 vorgegebenen Möglichkeiten gebunden bin. Das ist natürlich Klasse. Schöner wärs natürlich noch wenn ich die Typennummern wüsste. Typennummer 129 entspricht ja dem Typ Text, aber wie sieht das denn z.B. bei Datum aus?
Kannst Du mir das auch noch verraten, beziehungsweise erklären wo ich das nachlesen kann? Denn F1 bringt mich da echt nicht weiter, oder ich übersehe da etwas.
Verzeih, aber ich führe heute momentan einen Mehrfrontenkrieg mit verschiedenen Dateien und OOo-Versionen, so das ich jetzt nicht ganz genau weiß was Du mir damit sagen möchtest. Könntest Du mich bitte darüber *aufklären*? Danke.So kannst Du beliebig viele Eigenschaften setzen, so sie denn dokumentspezifisch und nicht dynamisch sind.
Du bist also meine Fee gewesen. Und dafür danke ich dir herzlich

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
wehr rächtschraipfähler findet khan si behalden

Re: Makro1 Daten in Makro2-Dialog schreiben.
Aloha
Der Datentyp ergibt sich aus dem übergebenen Wert.
Double:
Beim Datentyp Double ergibt sich ein Problem, dass ich bis jetzt nur per Workaround lösen konnte - ich habe mich allerdings auch nicht wirklich damit beschäftigt.
Es lassen sich keine Geraden Zahlen wie "5" bzw als Double "5.0" übergeben beim Erstellen der Eigenschaft, warum auch immer.
Das sieht dann ungefähr so aus:
Boolean:
Beim Datum wird es schon komplizierter, denn dort brauchst Du zwingend ein Struct vom Typ OOo API: DateTime
Du kannst natürlich so oder so beliebig viele Eigenschaften setzen, es macht aber nur Sinn, wenn die entsprechenden Eigenschaften konkrete Infos zu genau diesem Dokument beinhalteten (=dokumentspezifisch) und sich eigentlich nicht ändern, wie in Deinem Fall z.B. der Monat (=nicht dynamisch).
Das ist korrekt.balu hat geschrieben:ch sehe das also richtig, dass ich in den Benutzerdefinierten Eigenschaften bei Name und Wert frei entscheiden kann was ich eintrage, jedoch bei Typ an die 4 vorgegebenen Möglichkeiten gebunden bin.
Nicht ganz, die 129 ist ein gesetzter Flagwert für die neu hinzugefügte Eigenschaft. Dazu siehe OOo API: PropertyAttribute. Die 129 besagt also, dass die Eigenschaft leer sein darf (Flag 1) und entfernbar sein soll (Flag 128), also: 1+128=129.Schöner wärs natürlich noch wenn ich die Typennummern wüsste. Typennummer 129 entspricht ja dem Typ Text
Prinzipiell kannst Du alles als String eintragen, das ist die einfachste Variante.balu hat geschrieben:aber wie sieht das denn z.B. bei Datum aus?
Der Datentyp ergibt sich aus dem übergebenen Wert.
Double:
Code: Alles auswählen
oDok2.DocumentProperties.UserDefinedProperties.addProperty("Faktor",129,5.33)
Es lassen sich keine Geraden Zahlen wie "5" bzw als Double "5.0" übergeben beim Erstellen der Eigenschaft, warum auch immer.
Das sieht dann ungefähr so aus:
Code: Alles auswählen
x = 5 '<--Integer
Dim y as Double
y = x + 0.5
oDok2.DocumentProperties.UserDefinedProperties.addProperty("Faktor",129,y)
oDok2.DocumentProperties.UserDefinedProperties.setPropertyValue("Faktor",y-0.5)
Code: Alles auswählen
oDok2.DocumentProperties.UserDefinedProperties.addProperty("Geprüft",129,True)
Code: Alles auswählen
Dim myDate as new com.sun.star.util.DateTime
myDate.Month = MONTH(DATE)
myDate.Year = YEAR(DATE)
myDate.Day = DAY(DATE)
oDok2.DocumentProperties.UserDefinedProperties.addProperty("Heute",129,myDate)
Vielleicht etwas unklar ausgedrückt:balu hat geschrieben:so das ich jetzt nicht ganz genau weiß was Du mir damit sagen möchtest. Könntest Du mich bitte darüber *aufklären*?
Du kannst natürlich so oder so beliebig viele Eigenschaften setzen, es macht aber nur Sinn, wenn die entsprechenden Eigenschaften konkrete Infos zu genau diesem Dokument beinhalteten (=dokumentspezifisch) und sich eigentlich nicht ändern, wie in Deinem Fall z.B. der Monat (=nicht dynamisch).
Re: Makro1 Daten in Makro2-Dialog schreiben.
Hallo DPunch,
vielen Dank für deine Infos, jetzt wird mir einiges klarer. Werd nun mal schaun wie ich die ganzen Infos nutzbringend für mich unterbringen kann. Hab nun einiges zum testen
.
Gruß
balu
vielen Dank für deine Infos, jetzt wird mir einiges klarer. Werd nun mal schaun wie ich die ganzen Infos nutzbringend für mich unterbringen kann. Hab nun einiges zum testen

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
wehr rächtschraipfähler findet khan si behalden

Re: Makro1 Daten in Makro2-Dialog schreiben.
Aus aktuellem Anlass hebe ich diesen Thread wieder aus der Versenkung hervor, da ich mein Eingangsproblem "fast Perfekt" gelöst habe.
Hallo DPunch,
in diesem Thread: Makro in Datei ausführen, die 'hidden' geöffnet ist, hattest Du eine Möglichkeit vorgestellt wie man in einer HIDDEN geladene Datei ein Makro ausführen kann. Und das kam mir jetzt in doppelter Hinsicht zu gute.
Aktuell stand ich vor dem Problem, wie kann ich aus der Datei 1 in die Datei 2, welche HIDDEN geladen ist, ein neues, zusätzliches BASIC-Modul mit Inhalt anlegen. Das Problem ist, es geht so nicht wie anfangs gedacht.
Also nach diesen Codezeilen
einfach den Code für das Modul anlegen ausführen, funktioniert nicht.
Wenn ich aber FALSE für Hidden setze, also die Datei ist im Vordergrund, dann geht es. Aber das wollte ich aus verschiedenen Gründen vermeiden. Doch zum Glück bin ich heut auf den eben verlinkten Thread hier im Forum gestoßen. Und nach etwas Anpassung des dortigen Code auf das hier:
Habe ich mein Ziel erreicht. Jedoch musste ich aber in der Datei 2 im Module1 noch eine Scheinsub anlegen.
Nun kann ich das was ich hier eingangs wollte, über den kleinen Umweg eines zusätzlichen Mdouls, doch zufriedenstellend erledigen. Daten die ich vorher in der Datei in einem Tabellenblatt geschrieben hatte, verschwinden nun in das Makro. Das hat natürlich doch so einige Vorteile. Und deshalb Danke ich dir vielmals für deinen Lösungsvorschlag aus dem verlinkten Thread
.
Aber ein Frage hätte ich da dennoch.
Kann der jetzige eingesetzte ScriptProvider so umgeschrieben werden, das ich in der anderen Datei auf die NullSub verzichten kann?
Da mir diese Hohe Kunst der Makroprogrammierung doch noch zu hoch ist, stelle ich die Frage.
Sollte das nicht möglich sein, so wäre das auch nicht weiter tragisch da ich auch so mit dem aktuellem Ergebnis doch sehr zufrieden bin.
Ich hänge jetzt mal ein neues Datei-Paket an, in dem die aktuellen Änderungen zu sehen sind. In der Datei "Quelldatei2.ods" im Modul "Fertigstellen" sind die interessanteren Dinge zu finden.
Gruß
balu
Hallo DPunch,
in diesem Thread: Makro in Datei ausführen, die 'hidden' geöffnet ist, hattest Du eine Möglichkeit vorgestellt wie man in einer HIDDEN geladene Datei ein Makro ausführen kann. Und das kam mir jetzt in doppelter Hinsicht zu gute.
Aktuell stand ich vor dem Problem, wie kann ich aus der Datei 1 in die Datei 2, welche HIDDEN geladen ist, ein neues, zusätzliches BASIC-Modul mit Inhalt anlegen. Das Problem ist, es geht so nicht wie anfangs gedacht.
Also nach diesen Codezeilen
Code: Alles auswählen
myFileProp(1).name= "Hidden"
myFileProp(1).value= TRUE
oDok2 = starDesktop.loadComponentfromURL(url, "_blank", 0, myFileProp())
Wenn ich aber FALSE für Hidden setze, also die Datei ist im Vordergrund, dann geht es. Aber das wollte ich aus verschiedenen Gründen vermeiden. Doch zum Glück bin ich heut auf den eben verlinkten Thread hier im Forum gestoßen. Und nach etwas Anpassung des dortigen Code auf das hier:
Code: Alles auswählen
sLibName = "Standard"
sModuleName = "Module1"
sMakroName = "NullSub"
sScriptURI = "vnd.sun.star.script:" & sLibName & "." & sModuleName & "." & sMakroName & "?language=Basic&location=document"
oScript = oDok2.ScriptProvider.getScript(sScriptURI)
oScript.invoke(Array(dummy),Array(),Array())
Code: Alles auswählen
Sub NullSub
' Trick 17 ;-)
End Sub

Aber ein Frage hätte ich da dennoch.
Kann der jetzige eingesetzte ScriptProvider so umgeschrieben werden, das ich in der anderen Datei auf die NullSub verzichten kann?
Da mir diese Hohe Kunst der Makroprogrammierung doch noch zu hoch ist, stelle ich die Frage.
Sollte das nicht möglich sein, so wäre das auch nicht weiter tragisch da ich auch so mit dem aktuellem Ergebnis doch sehr zufrieden bin.
Ich hänge jetzt mal ein neues Datei-Paket an, in dem die aktuellen Änderungen zu sehen sind. In der Datei "Quelldatei2.ods" im Modul "Fertigstellen" sind die interessanteren Dinge zu finden.
Gruß
balu
- Dateianhänge
-
- simpel-test_V2.zip
- (33.14 KiB) 101-mal heruntergeladen
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
wehr rächtschraipfähler findet khan si behalden

Re: Makro1 Daten in Makro2-Dialog schreiben.
Servus
Sorry, ich hatte leider in letzter Zeit keinerlei Musse, mich mit OOo zu beschäftigen.
Soweit ich das überblicken kann, benutzt Du Deine NullSub nur, um die Bibliothek zu laden.
Anstatt des gesamten Blockes, der die NullSub aufruft, sollten folgende Zeilen vollkommen ausreichend sein
Desweiteren musst Du eigentlich keine Sub für die Monatsvariablen anlegen, stattdessen kannst Du die Variablen auch einfach als Konstanten direkt festlegen
Sorry, ich hatte leider in letzter Zeit keinerlei Musse, mich mit OOo zu beschäftigen.
Soweit ich das überblicken kann, benutzt Du Deine NullSub nur, um die Bibliothek zu laden.
Anstatt des gesamten Blockes, der die NullSub aufruft, sollten folgende Zeilen vollkommen ausreichend sein
Code: Alles auswählen
If NOT oDok2.BasicLibraries.hasByName("Standard") Then
oDok2.BasicLibraries.createLibrary("Standard")
End If
oDok2.BasicLibraries.loadLibrary("Standard")
Code: Alles auswählen
(...)
sKette = sKette & "Public Const sAktMonat as String = """ & oErstellen.getCellRangeByName("C1").string & """" & CHR(13)
sKette = sKette & "Public Const vLabelHinterFarbe as String = """ & 65535 & """" & CHR(13)
sKette = sKette & "Public Const vLabelTextFarbe as String = """ & 0 & """" & CHR(13)
myLib.insertByName(sModulName,sKette)
(...)
Re: Makro1 Daten in Makro2-Dialog schreiben.
Hallo DPunch,
Ich Danke dir vielmals für deine Bemühungen und für die Optimierung
.
Gruß
balu
Macht doch nichts.Sorry, ich hatte leider in letzter Zeit keinerlei Musse, mich mit OOo zu beschäftigen.
Überblicken tu ich das nicht wirklich. Hatte das aus dem anderen Thread nur so weit abgeändert, bis ich ein funktionierendes Ergebnis hatte.Soweit ich das überblicken kann, benutzt Du Deine NullSub nur, um die Bibliothek zu laden.
Dieser kurze und knackige 4-Zeiler ist allemale besser und übersichtlicher, als das andere. Und ja, er ist ausreichend und außerdem auch zeitlich schneller (Zeit kann ich aber nicht messen).Anstatt des gesamten Blockes, der die NullSub aufruft, sollten folgende Zeilen vollkommen ausreichend sein
Da magst Du wohl Recht haben, aber das ist auch noch als *Spielwiese* zu betrachten, da ich bei dem Thema "Modul in einer zweiten Datei anlegen" noch nicht so viel Erfahrung habe.Desweiteren musst Du eigentlich keine Sub für die Monatsvariablen anlegen
Das werde ich demnächst so Schrittweise ausprobieren.stattdessen kannst Du die Variablen auch einfach als Konstanten direkt festlegen
Ich Danke dir vielmals für deine Bemühungen und für die Optimierung

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
wehr rächtschraipfähler findet khan si behalden
