Date: prev next · Thread: first prev next last
2022 Archives by date, by thread · List index


Am 2022-08-13 um 05:47 schrieb Franklin Schiftan:
Am 2022-08-12 um 23:31 schrieb Gerhard Weydt:
Hallo Franklin,

Speicherung nur für einzelne Komponenten geht meiner meinun nach nicht.
Aber die Abfrage im Makro ist einfach:

;-) Klar, wenn man's weiß, aber ...

       IF NOT ThisComponent.supportsService (
"com.sun.star.sheet.SpreadsheetDocument" ) then exit sub

... der vorstehende Code führt (in einem Writer-Dokument) leider nur auf
Fehler. Scheint vielleicht doch nicht so ganz einfach zu sein .... ;-)

Sorry, zu früh geschrieben ... wenn die beiden Zeilen in eine Zeile
geschrieben werden, funktioniert es!

Nochmal danke ... von alleine (und auch nach einer entsprechenden
Netzsuche) wäre ich auf diesen Code nicht gekommen.

Gerhard

   .... und tschüss

              Franklin




Am 12.08.2022 um 12:09 schrieb Franklin Schiftan:
Inzwischen ist mir folgendes aufgefallen:

Wenn ich die Ereignis-Zuweisungen in LibreOffice speichere (damit sie
bei allen, auch neuen Dokumenten ausgeführt wird), dann wird das Makro
offensichtlich auch bei einem Writer-Dokument ausgeführt (obwohl ich es
eigentlich nur für Calc haben wollte) - und führt dort allerdings zu
einem Fehler.

Daher meine Fragen:

Kann man die Zuweisungen - außer der Speicherung in einzelnen Dokumenten
- so vornehmen, dass sie nur für (alle) Calc-Arbeitsblätter erfolgt?
Oder kann man im Makro irgendwie abfragen, ob es sich gerade um ein
Calc-Dokument handelt und es nur dann ausführen? Wie müsste dieser Code
dann lauten?

Danke für ergänzende Hinweise ...

   .... und tschüss

              Franklin




Am 2022-08-07 um 08:45 schrieb Franklin Schiftan:
Hey, super, Thomas, vielen Dank!

Mit Deinem Beispiel-Code und Deinen Ersetzungs-Hinweisen konnte ich das
Makro so anpassen, dass es im rechten Fußzeilen-Bereich das Datum im
gewünschten ISO-Format einfügt. Dann auch noch in den generellen Bereich
kopieren und den entsprechenden Ereignissen zuweisen - dann scheint es
aktuell zumindest genauso automatisch zu klappen wie ich es mir
gewünscht habe.

Nochmals vielen Dank.

Was ich mich jetzt nur frage, warum den vielen Fragestellern in Ask mit
demselben (oder einem vergleichbaren) Problem diese Makro-Code-Lösung
"vorenthalten" wurde und sie meistens nur sinngemäß mit "geht nicht"
abgespeist wurden ...

     .... und tschüss

                Franklin





Am 2022-08-07 um 07:26 schrieb Thomas Krumbein:
Hey Franklin,

Ich schicke Dir per separater mail eine Beispieldatei mit passendem
Code.

Dort wird er Text "Testseite" in den mittleren Bereich der
Standardvorlage eingefügt. Stammt aus meinem Makro Handbuch.

Statt dem String "Testseite" muss Du dann halt einfach den Ausdruck:

format( now(), "yyyy-mm-dd")

einsetzen - das ist der Jetzt() befehl, formatiert als "2022-08-07".
Den
Formatcode kannste ja wunschgemäß anpasen;))

Viele Grüße Thomas


Am 07.08.2022 um 07:07 schrieb Franklin Schiftan:
Am 2022-08-07 um 06:53 schrieb Thomas Krumbein:
Hey Franklin,

also, technisch geht das auch mit Makros. Kommt halt darauf an,
was Du
genau willst.

Nur ein Datum (fest) per Makro im gewünschten Format einzutragen wäre
nicht so aufwendig.

Es wäre grundsätzlich schon schön, wenn hier automatisch immer das
aktuelle Datum erschiene, also das Heute()-Feld eingefügt würde - aber
zur Not könnte man beim Speichern ja auch ein Makro ausführen, welches
dann immer das heutige Datum im gewünschten Format als festen Wert
einfügt - nur wie müsste das genau aussehen?

Das eingefügte Datumsfeld entsprechend zu formatieren ist da schon
etwas
komplizierter, ginge aber sicher auch.

Zum Verständnis: Kopf- und Fusszeilen sind auch bei Calc Elemente der
Seitenvorlage. Da kannst Du mit einem Makro problemlos Texte einfügen
(und diese natürlich z.B. nach Wunsch formatieren).

Leider kenne ich mit Makro-Code nicht so aus, daher ja hier meine
Anfrage.

Wird über die Oberfläche ein Datumsfeld eingefügt, benutzt LO
intern ein
Textfeld wie in Writer - also über den TextfeldMaster, dann das
entsprechende Textfeld (Datum) und dann das entsprechende Format,
wobei
es automatisch den Formatcode 2  (Index) verwendet. Nun sind die
Formatcodes eine eigene Liste und - je nach Ländereinstellung -
unterschiedlich. Wenn Du den Code also ändern willst (technisch per
Makro möglich) brauchst Du zunächst die Liste der Formatcodes Deines
Systems - und kannst dann das passende einstellen.

Oh je, das klingt in der Tat ziemlich kompliziert ...

Das alles ist ein wenig Aufwand;)

Aber... LO ist OpenSource. Kann man alles ändern;) Vielleicht
magst Du
ja den Quellcode entsprechend anpassen und einen Auswahldialog wie
bei
Writer ergänzen?

Hmm, ich glaube, wenn ich diese Code-Fähigkeiten hätte, bräuchte ich
hier nicht anzufragen ....

Oder halt: Excel nehmen, wenn es dort so einfach geht ..hihi...

Ich habe es selber nicht ausprobiert - deshalb schrieb ich ja 'soll'.

     .... und tschüss

                Franklin





Am 07.08.2022 um 06:33 schrieb Franklin Schiftan:
[..]

Schade, wenn das in Excel mit ein paar Zeilen VBA machbar sein soll,
warum muss dann LibO hier so unflexibel sein?

Viele Grüße
Thomas







--
Liste abmelden mit E-Mail an: discuss+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/discuss/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.