🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!

🙏 DANKE >> << DANKE 🙏

>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

Makro: Datei unter mehreren Formaten abspeichern

WRITER hat alles, was Sie von einer modernen, voll ausgestatteten Textverarbeitung erwarten.
mikele
* LO-Experte *
Beiträge: 2047
Registriert: Mo 1. Aug 2011, 20:51

Re: Makro: Datei unter mehreren Formaten abspeichern

Beitrag von mikele » Mo 19. Jan 2015, 22:18

Hallo Mau,

ich konnte den Fehler nachvollziehen.
Er tritt auf, wenn die Datei aus der das Makro gestartet wurde, noch nie gespeichert wurde, also noch gar keinen Pfad- und Dateinamen hat.
Das lässt sich verschieden umgehen:
1) Das Makro soll in diesem Fall gar nichts tun bzw. eine Fehlermeldung ausgeben.
2) Das Makro soll einen "Standard"-Namen vergeben und in ein "Standard"-Verzeichnis exportieren.
3) Das Makro soll den Dateinamen und den Pfad erfragen.
(Prinzipell kann das Ganze ausgebaut werden zu einem eigene Dialog mit Auswahlmöglichkeiten etc. ... ;) )
zu 1) wäre es also grunsätzlich so (nach sUrl=...)

Code: Alles auswählen

if sUrl= "" then
   msgbox("Speichern Sie die Datei zunächst im odt-Format")
else
  bisheriger Code
end if
end sub
Kannst du deine Makroversion nochmal hochladen, dann kann ich aktueller eingreifen.
Gruß,
mikele

Mau
* LO-Experte *
Beiträge: 464
Registriert: Do 14. Feb 2013, 19:37

Re: Makro: Datei unter mehreren Formaten abspeichern

Beitrag von Mau » Di 20. Jan 2015, 10:55

Lieber mikele,

es ist offensichtlich so, wie du es analysiert hast.

Und ich möchte den Makro, wie anfangs schon gesagt, immer nur aus Dateien heraus einsetzen, die bereits Pfad und Namen haben. Dass der Makro nicht funktioniert, wenn sie noch "Unbenannt" heißen, ist absolut erwünscht.

Du brauchst dir also keine weitere Mühe damit zu machen. Ich hab den Makro aus einer existierenden Datei heraus getestet, und da funktioniert er jetzt einwandfrei. Klasse!

Die Abspeicherung im PDF-Format habe ich, wie gesagt, herausgenommen, weil die erstens mit der Tastenfolge [Alt-D, P] schnell erledigt ist, ohne dass die Ausgangsdatei dann im Zielformat im Arbeitsspeicher bleibt wie bei TXT, DOC usw., und weil zweitens deren Programmierung deutlich komplizierter aussieht.

Gruß,
Mau
Betriebssystem: Windows 10 (x64)

LO-Version: 6.2.8.2 (x64)

mikele
* LO-Experte *
Beiträge: 2047
Registriert: Mo 1. Aug 2011, 20:51

Re: Makro: Datei unter mehreren Formaten abspeichern

Beitrag von mikele » Di 20. Jan 2015, 12:54

Hallo Mau,

schön, dass es klappt.
Das Speichern als pdf word dann aufwändig, wenn diverse Optionen benutzt/gebraucht werden. Ansonsten ist es genauso "simpel" wie die anderen (siehe meine Datei).

Code: Alles auswählen

	args1(0).Name = "URL"
	args1(0).Value = sPfad & sName & ".pdf"
	args1(1).Name="FilterName"
	args1(1).Value = "writer_pdf_Export"
	oDoc.storetoUrl(sPfad & sName & ".pdf",args1())
Noch eine Anmerkung (hast du vielleicht schon benutzt): Wenn die das Makro auf verschiedene Dateien anwenden willst, dann ist es sinnvoll, es in einem Modul unter "Meine Makros" ->"Standard" abzulegen. Dann kannst du das Makro in die Symbolleiste integrieren (Extras->Anpassen->Symbolleisten) und dann per Mausklick aufrufen.
Gruß,
mikele

Mau
* LO-Experte *
Beiträge: 464
Registriert: Do 14. Feb 2013, 19:37

Re: Makro: Datei unter mehreren Formaten abspeichern

Beitrag von Mau » Di 20. Jan 2015, 13:41

Lieber mikele,
mikele hat geschrieben:Das Speichern als pdf wird dann aufwändig, wenn diverse Optionen benutzt/gebraucht werden. Ansonsten ist es genauso "simpel" wie die anderen (siehe meine Datei).
Ja, aber ich habe den Makro dazu mit meinen Vorgaben erstellt, und da wurde ein gewaltiger Rattenschwanz an Vorgaben mit abgespeichert. Und wie das geht, wenn ich es doch mal testen will, weiß ich jetzt.
mikele hat geschrieben:Noch eine Anmerkung (hast du vielleicht schon benutzt): Wenn du das Makro auf verschiedene Dateien anwenden willst, dann ist es sinnvoll, es in einem Modul unter "Meine Makros" ->"Standard" abzulegen. Dann kannst du das Makro in die Symbolleiste integrieren (Extras->Anpassen->Symbolleisten) und dann per Mausklick aufrufen.
Das Erste habe ich von Anfang an gemacht: Ich habe den von LO erstellten Makro nach deinen Vorgaben umgearbeitet.
Das Zweite handhabe ich anders: Ich habe den Makro einer Tastenkombination zugewiesen, weil ich ein absoluter Tastaturfreak bin - für die meisten Handhabungen sparen Tastaturkürzel bis zu 90 % der Zeit, die sie mit der Maus benötigten; man braucht für vieles nicht einmal auf den Bildschirm zu schauen. Meine registrymodicifations.xcu umfasst mittlerweile 1,30 MB, und ich habe mir zu meiner Tastatur mit Calc eine Belegungstabelle angelegt, weil man damit einen schnelleren Überblick bekommt als durch das Tastenbelegungsfenster unter Extras | Anpassen .... Setze ich hier gerne rein oder schicke sie dir, wenn sie dich interessiert.

Ich habe jetzt allerdings bei den ersten Gehversuchen ein Problem bei den türkischen Sonderzeichen entdeckt. Mein Makro ersetzt sie alle durch ?. Ich veranschauliche das an einer Original-PFD-Datei, die ich mit ABBYY in eine TXT-Datei umgewandelt habe, ohne dass die Sonderzeichen wegfielen, und stelle die TXT-Datei daneben, die der Makro aus einer vorher erstellten ODT-Datei erstellt und dabei die Sonderzeichen rausgeschmissen hat.

Gruß,
Mau
Dateianhänge
Türkische Texte txt.odt
(661.23 KiB) 135-mal heruntergeladen
Betriebssystem: Windows 10 (x64)

LO-Version: 6.2.8.2 (x64)

mikele
* LO-Experte *
Beiträge: 2047
Registriert: Mo 1. Aug 2011, 20:51

Re: Makro: Datei unter mehreren Formaten abspeichern

Beitrag von mikele » Di 20. Jan 2015, 22:48

Hallo Mau,

kannst du eine solche odt-Datei mit türkischen Texten mal hochladen (ein paar Zeilen reichen). Aus so einem Bildschirmausdruck kann man praktisch nur entnehmen, dass es so ist wie es ist.
Gruß,
mikele

Mau
* LO-Experte *
Beiträge: 464
Registriert: Do 14. Feb 2013, 19:37

Re: Makro: Datei unter mehreren Formaten abspeichern

Beitrag von Mau » Mi 21. Jan 2015, 14:09

Liebe mikele,

ich habe das Problem, glaube ich, schon selbst lösen können.

Und zwar habe ich mal alle Verschlüsselungsvarianten für TXT-Dateien "händisch" ausprobiert und festgestellt, dass das richtige Ergebnis nur mit Unicode (UTF-8) erzielt wird.
Daraufhin habe ich für diese Verschlüsselung einen Testmakro erstellt (ist in der türkischen Textdatei als Makro abgespeichert). In dem habe ich mir angesehen, was er am bisherigen Programmcode geändert hat.
Und dann habe ich den ursprünglichen Speichermakro so umgebaut wie in der beigefügten Datei ODT-Makro Formate speichern 5.odt abgebildet.

Jetzt funktioniert der Makro wunschgemäß.
Aber vielleicht kannst du dir beides trotzdem noch mal ansehen, ob da nicht doch noch irgendwo eine Macke ist.

Gruß,
Mau
Dateianhänge
ODT-Makro Formate speichern 5.odt
(31.84 KiB) 143-mal heruntergeladen
yal4a06 Türkisch.odt
(35.44 KiB) 138-mal heruntergeladen
Betriebssystem: Windows 10 (x64)

LO-Version: 6.2.8.2 (x64)

Mau
* LO-Experte *
Beiträge: 464
Registriert: Do 14. Feb 2013, 19:37

Re: Makro: Datei unter mehreren Formaten abspeichern

Beitrag von Mau » Sa 24. Jan 2015, 12:14

Liebe Forumsteilnehmer*innen,

gerade entdeckt: eine Extension, die offenbar etwas Ähnliches macht wie das, was wir hier entwickelt haben:
http://extensions.libreoffice.org/exten ... ultisave-1

Ich werde sie nicht selbst ausprobieren, weil unser Makro genau das tut, was ich brauche. Ich habe ihn an eine Tastenkombination gekoppelt, so dass der ganze Vorgang in der Regel in weniger als einer Sekunde erledigt ist.

Aber vielleicht ist irgendjemand ja bereit, von seinen Erfahrungen mit der Extension zu berichten.

Gruß,
Mau
Betriebssystem: Windows 10 (x64)

LO-Version: 6.2.8.2 (x64)


An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.



❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten