alte Dokumente unlesbar (Codierung?)

Hallo Rainer,

bei mehr Werten nutze Arrays und ne Schleife. Achte dabei, dass Du Groß- und Kleinschreibung unterscheiden musst und dass  die Anzahl der beiden Listen identisch ist!

SUB MySearchReplace
   dim aSearch()
   dim aReplace()

   aSearch = array("ç","Ç","ã","Ã","ñ","Ñ","õ","Õ","á","Á", ....)
   aReplace = array("ä","Ä",......)

For i = 0 to ubound(aSearch)
    oReplace = ThisComponent.CreateReplaceDescriptor
    With oReplace
      .SetSearchString(aSearch(i))
      .SetReplaceString(aReplace(i))
      .SearchCaseSensitive = True
    end with
    ThisComponent.replaceAll(oReplace)
  next
END SUB

Wenn Du Dir die beiden Arrays wie oben genau untereinander schreibst, so kannst Du Zeichen für Zeichen exakt zuordnen. Das Ganze dann in MeineMakros-> z.B. Standard -> Modul1 kopieren (oder besser: leg dir ne eigene Bibliothek an), dann noch ne Button erzeugen (Extras - Anpassen ...Entweder Symbolleiste oder Menü -> Makro zuordnen) Fertig.

VG

Thomas

Hallo Robert,

ein Nachtrag:

>
> SUB SearchReplace
> oReplace = ThisComponent.CreateReplaceDescriptor
> oReplace.SetSearchString("Š")
> oReplace.SetReplaceString("ä")
> ThisComponent.replaceAll(oReplace)
> oReplace = ThisComponent.CreateReplaceDescriptor
> oReplace.SetSearchString("†")
> oReplace.SetReplaceString("Ü")
> ThisComponent.replaceAll(oReplace)
> END SUB
>
> Ich habe jetzt nur 2 der Zeichen aus Deinem Beispiel übernommen.
> Insgesamt dürften es ja 7 sein.

Es sind deutlich mehr mehr - z.B. ç, Ç, ã, Ã, ñ, Ñ, õ, Õ, á, Á, ó, Ó,
â, ..... etc. Dennoch halte ich die Aufgabe für überschaubar, weil es
ja nicht unendlich viele Zeichen sind.

> Also einfach aneinanderreihen und das > Makro mit einem Button in
> Writer in eine Symbolleiste direkt einbinden.

Ok. Leider habe ich null Ahnung vom Erstellen von Makros, weiß also
nicht, wie ich diese Aufgabe anpacken muss.

> Öffnest Du jetzt eins der fraglichen Dokumente, so klickst Du auf
> den Button und die entsprechenden Zeichen werden ersetzt.
>
Das klingt schon mal gut :wink:

Das Makro-Thema muss ich vor vielen Jahren schon einmal "in der Mache"
gehabt und dann komplett aus den Augen verloren haben. Jedenfalls habe
ich kaum noch wahrgenommen, dass es hier in der Symbolleiste einen
Button "Sonderzeichen" gibt - und siehe da: Dahinter verbirgt sich auch
ein Makro. Ein Test hat gezeigt, dass es funktioniert. So sieht es aus:

https://paste.ubuntu.com/p/c8N2rqKTzB/

Die von mir erwähnten, zusätzlichen Zeichen sind zwar nicht dabei, aber
es ist gut möglich, dass ich sie damals noch gar nicht benutzt habe.
Falls erforderlich, müsste ich das Makro erweitern. Die Frage ist nur:
Wie geht das? Ins vorhandene Makro einfach einen Abschnitt per copy 'n'
paste neu einfügen und anpassen?

Viele Grüße

Rainer

Hallo,

>
> Gibt es eine Möglichkeit, entweder einzelne Dokumente oder (besser
> noch) ganze Verzeichnisse in einem Rutsch korrigieren zu lassen?
> Ideal wäre ein Tool, das unter Ubuntu gut läuft.

Ich fürchte, nein. Eventuell kannst du was mit dem Microsoft Word
Viewer
( https://www.chip.de/downoads/DOC-Datei-oeffnen_42813011.html )
retten,

Seite wurde nicht gefunden.

Chip sscheint die Seiten zeitlich zu kodieren; jetzt wird sie bei mir in
der History als

https://www.chip.de/downloads/DOC-Datei-oeffnen_42813011.html?icp=sigExpired

geladen; ansonsten suchst du auf www.chip.de nach "DOC - Datei öffnen".

Ist vermutlich auch ein Windows-Programm, oder?

Ja; wird aber von M$ nicht weiter entwickelt und angeboten. Daher der
"Umweg" über Chip, die haben das noch in ihrem Downloadbereich.

Btw., der von dir gepostete Dateianfang ("ÐÏ#ࡱ#á") stellt die Werte
(hex) "D0 CF 11 E0 A1 B1 1A E1" dar, und das ist laut
https://www.filesignatures.net/index.php?page=search&search=D0CF11E0A1B11AE1&mode=SIG
die Dateisignatur von u.a.[1] DOC-Dateien. Welche Dateiendung hat die
Datei denn überhaupt?

Wenn du es genau wissen willst, kannst du ja mal in der Datei
nachschauen; da müsste bei Word-Dokumenten so nach ca. ner halben Seite
oder so eine Sequenz der Art "Microsoft Word 6.0-Dokument MSWordDoc
Word.Document.6" o. ä. kommen. Wenn wir die genaue Version wüssten,
könnten wir etwas besser raten, anhand der damals üblichen
Zeichenkodierungen.

BTW.II: Vom Patchen der Dateien, wie in einem anderen Posting
vorgeschlagen, würde ich dringend abraten; bzw. das _*NIE!*_ auf die
Originale anwenden, sondern höchstens auf Kopien. Diese Dateien
enthalten auch jede Menge Steuerzeichen, Binärdaten usw. Ich hab es
schon viel zu oft erlebt, dass Programme solche Daten nicht als echte
Binärdatei einlesenn sondern als Textdatei, und dabei derartige
Steuerzeichen usw. ganz oder teilweise usw. als ungültig einfach
unterschlagen. Berüchtigt dafür ist v. a. der Wert 0x00. Und dann ist
das Dokuemnt u.U. *gar* nicht mehr brauchbar, weil kaputtrepariert.

[1] möglich wären aber auch XLS, MSWorks, MS Office, u.v.m.

Und ehrlich gesagt frage ich mich, ob sich so ein Aufwand wirklich
lohnt. Haben denn diese alten Dateien noch mehr als rein emotionalen
Wert?

Ja, sonst würde ich gleich die Finger davon lassen. Gegenfrage zur
analogen Welt: Hast Du alles an älteren Papierdokumenten vernichtet?
Nichts mehr dazwischen, was z.B. 20 Jahre alt ist und mehr, als nr
emotionalen Wert hat?

Ich möchte jetzt nicht ausschließen, dass ich noch irgendwo ein oder
zwei [tm] alte DM-Banknoten übersehen habe. Und ich weiß, dass ich nen
ganzen Stapel Handbücher zu v. a. Küchen-, aber auch anderen Geräten und
Produkten habe, darunter müssten auch welche sein, die dieses Alter
erreicht oder überschriten haben. Die meisten der Geräte existieren auch
noch (damals hat man eben noch nciht auf Obsoleszenz gebaut). Und
Bekannte von mir haben eine Eigentumswohnung, die haben mit Sicherheit
noch die damaligen Kaufverträge usw. in ihren Unterlagen. Aber derartige
Dokumente haben tatsächlich noch mehr als nur rein emotionalen Wert.

Auch sonst liegt sicher noch einiges Papierenes herum, das aber in der
Tat nur noch emotionalen Wert besitzt.

Wolf 'und oft nicht mal mehr den, sondern schlicht und einfach nur das
Glück, tief genug vergraben zu sein, um bei bisherigen Entrümpelaktionen
übersehen worden zu sein' gang

Hallo Rainer und alle Diskutanten

> >> Den Text öffnen, kopieren, in einen UTF-8-fähigen (sollten unter
> >> Linux alle sein) Texteditor einfügen, umcodieren und neue
> >> Textdatei mit LO erstellen.

Das ist für alle zu ändernden Texte notwendig. Mit den SO-/LO- bzw Word-Texten
geht automatisiert vermutlich gar nix. Möglicherweise bietet MS ein Tool dafür
an, weiß ich aber nicht.

> >
> > Funktioniert nicht. Beispiel: das Wort "für" (im alten Dokument
>
> > "fŸr"):
> Wenn es nur die 7 deutschen Sonderzeichen sind: üöäÜÖÄß
> könnte man die doch einfach "replace Ÿ mit ü" machen.

Ja, darauf läuft es raus, aber…

> Notepad++ hätte für soetwas die Option, solche Ersetzungen in allen
> geladenen Dateien auf einmal zu machen - vielleicht hätte gibt's das
> ja auch auf Linux?

… das ist ein Editor für Windows, der …

Ja, mit Hilfskonstruktionen ist es möglich, Notepad++ zum Laufen zu
bringen

… mit wine zum funktionieren gebracht werden muss. Habe ich noch nicht
versucht, werde es aber demnächst mal tun.

(oder die Alternative "Notepadqq" zu nutzen).

Ist zumindest in den Debian-Repos nicht zu finden.

Aber wie ich
meiner gestrigen Antwort auf Dein Posting schon schrieb: Es handelt
sich ja um einen Texteditor, und ich kann mir im Moment nicht
vorstellen, wie damit LO-Dateien im odt-Format geladen und bearbeitet
werden sollen.

Das ist der Punkt. Die Textdaten müssen extrahiert werden, was einigermaßen
komfortabel nur für ODT-Daten funktioniert und auch nur hier automatisiert
werden kann. Das ist vermutlich der einfachere Teil des Workflows. Word-Daten
sind komplett binär, das ist nix mit automatisch den Textteil extrahieren.
Erst nach dem Extrahieren ist es möglich mit einem Tool wie recode oä zu
konvertieren.

Ab hier wird es beliebig komplex. Nicht nur die Codierung des Textes nuss
betrachtet werden, sondern auch die Umgebung (Sprachumgebung, Codierung,
Betriebssystem, …) auf dem Rechner, der die Umkodierung machen soll. Der
Texteditor, mit dem die Kontrollen (die sind zwingend) gemacht werden ist ein
Faktor. Bzw kann er Unicode, schaltet er automatisch zwischen den Codierungen
um, welcher Zeichensatz kommt zur Darstellung zum Einsatz. Nicht ganz
unwichtig ist auch, ob die Daten dann zwischen Win, Linux, iOS hin und her
geschoben werden. Da wird teilweise schon mal automatisch konvertiert, je
nachdem welches Transportmittel eingesetzt wird.

Diese Ausführlichkeit, hat einen einfachen Grund: Ich habe schon mit solch
einem Problem gekämpft und dann frustriert aufgegeben. Und das waren bereits
Textdaten, die allerdings von Windows nach Linux transferiert wurden.

Falls du es doch versuchen willst, läuft das ganze auf Scripten raus.
Werkzeuge mit denen du dann arbeiten müsstest wären
"gzip" / "gunzip" um die SO-/LO-Daten zu entpacken
"find" um sie zu finden und sie dann mit
"mv" oder "cp" zu verschieben oder kopieren
Für das Ersetzen der seltsamen (eigentlich regulären Unicode-) Zeichen kommen
diverse Werkzeuge in Frage: "tr", "sed", "recode" und wahrscheinlich noch ein
paar.

Aus meiner Sicht die einfachste Methode, allerdings auch die mit dem meisten
Stumpsinn (und deshalb durchaus fehleranfäälig):
Mit LO öffnen und über Suchen/ersetzen (eventl mit RegEx-Hilfe) die Dateien
einzeln zu bearbeiten. Danach sofort als PDF/A exportieren. PDF/A deshalb,
weil es ein ISO-genormtes Archivformat ist,
siehe https://de.wikipedia.org/wiki/PDF/A

Hallo Marino,

Hallo,

Hallo,

Gibt es eine Möglichkeit, entweder einzelne Dokumente oder (besser
noch) ganze Verzeichnisse in einem Rutsch korrigieren zu lassen?
Ideal wäre ein Tool, das unter Ubuntu gut läuft.

Ich fürchte, nein. Eventuell kannst du was mit dem Microsoft Word
Viewer
( https://www.chip.de/downoads/DOC-Datei-oeffnen_42813011.html )
retten,

Seite wurde nicht gefunden. Ist vermutlich auch ein Windows-Programm,
oder?

Und ehrlich gesagt frage ich mich, ob sich so ein Aufwand wirklich
lohnt. Haben denn diese alten Dateien noch mehr als rein emotionalen
Wert?

Ob der User seine Dateien für Kaffeesatz lesen nutzt, oder ob das eine
für ihn wichtige Studienarbeit war, ist doch irrelevant!!

Es geht hier einzig und alleine darum, dass unsere so hochgelobte
Digitalisierung es offensichtlich mit sich bringt, dass alter Code; habe
solches selber schon erleben müssen; mit schmerzhaften Verlusten einher
geht.
- Und warum:
Ganz einfach weil bei vielen Applikation, die Programmierer sich nicht
an ein einheitliches Codieren von Daten halten!
Jeder denkt, dass seine Hinterlegung für den User ja nicht
nachvollziehbar sein muss; wichtig nur, dass es für ihn Zweckmässig ist.

Der Grund für die aus jetziger Sicht fehlerhaften Zeichen ist ja noch nicht einmal eindeutig klar, weil Rainer nicht einmal sagen kann, wie die Dokumente erstellt wurden. Am wahrscheinlichsten scheint allerdings zu sein, dass es eine Frage der verwendeten Zeichensätze ist, und wenn dem so ist, liegt es an der historischen Entwicklung, dass sich nämlich erst ein Standard herausbilden musste bzw. dass man sich international geeinigt hat. Solange das nicht zutraf, hatten die Programmierer keine Chance, sich an "einheitliches Codieren von Daten zu halten". Solche Schuldzuweisungen gehen fehl.

Die Folgen solches Denken trägt dann ja der User..
Wirklich ein enormer Fortschritt für die Geschichtsforschung...

ps. Wolfgang, haben wir nicht kürzlich in einem anderen Zusammenhang von
Codierung und Daten-durchgängig gesprochen?

Ja, sonst würde ich gleich die Finger davon lassen. Gegenfrage zur
analogen Welt: Hast Du alles an älteren Papierdokumenten vernichtet?
Nichts mehr dazwischen, was z.B. 20 Jahre alt ist und mehr, als nr
emotionalen Wert hat?

Viele Grüße

Rainer

Gruß

Gerhard

Hallo Matthias,

Das ist der Punkt. Die Textdaten müssen extrahiert werden,

Nach Allem, was ich gelesen habe und auch hier diskutiert wurde, läuft
es (bis auf eine Ausnahme) wohl darauf hinaus - und das ufert leicht
aus.

was einigermaßen komfortabel nur für ODT-Daten funktioniert und auch
nur hier automatisiert werden kann.

Wobei mir nicht klar ist, wie dieser Schritt zzgl. die
Rückkonvertierung ins odt-Format für viele Dateien in einem Rutsch
möglich wäre (ich vermute: gar nicht).

Das ist vermutlich der einfachere Teil des Workflows. Word-Daten sind
komplett binär, das ist nix mit automatisch den Textteil extrahieren.
Erst nach dem Extrahieren ist es möglich mit einem Tool wie recode oä
zu konvertieren.

Ab hier wird es beliebig komplex.....

Eben. Ich aber kann mir solch einen Aufwand nicht ans Bein binden.

Diese Ausführlichkeit, hat einen einfachen Grund: Ich habe schon mit
solch einem Problem gekämpft und dann frustriert aufgegeben. Und das
waren bereits Textdaten, die allerdings von Windows nach Linux
transferiert wurden.

Au weia...

Falls du es doch versuchen willst, läuft das ganze auf Scripten raus.
Werkzeuge mit denen du dann arbeiten müsstest wären
"gzip" / "gunzip" um die SO-/LO-Daten zu entpacken
"find" um sie zu finden und sie dann mit
"mv" oder "cp" zu verschieben oder kopieren
Für das Ersetzen der seltsamen (eigentlich regulären Unicode-)
Zeichen kommen diverse Werkzeuge in Frage: "tr", "sed", "recode" und
wahrscheinlich noch ein paar.

s.o.: Scheitert am Aufwand. Der muss in Grenzen bleiben.

Aus meiner Sicht die einfachste Methode, allerdings auch die mit dem
meisten Stumpsinn (und deshalb durchaus fehleranfäälig):
Mit LO öffnen und über Suchen/ersetzen (eventl mit RegEx-Hilfe) die
Dateien einzeln zu bearbeiten.

Ja, ist wohl die (handwerklich) einfachste, aber eben auch sehr
aufwändig, weil jede einzelne Datei bearbeitet werden muss. Insofern
scheint sich mit der hier vorgeschlagenem (und von mir als bereits
angewandt entdeckten) Makro-Variante das Ganze noch etwas komfortabler
zu gestalten. Offenbar gibt es kein Mittel, solch ein Makro über viele
Dateien auf einmal zu jagen.

Hilfreich wäre nun für mich ein Tipp, wie ich das vorhandene Makro um
weitere Zeichen aufstocke. Gibt es in der entsprechenden Maske dafür
Schalter, Buttons, o.ä.?

Danach sofort als PDF/A exportieren. PDF/A deshalb, weil es ein
ISO-genormtes Archivformat ist, siehe
https://de.wikipedia.org/wiki/PDF/A

Exportiert LO denn nicht in PDF/A?

Viele Grüße

Rainer

Hallo Rainer,

Hilfreich wäre nun für mich ein Tipp, wie ich das vorhandene Makro um
weitere Zeichen aufstocke. Gibt es in der entsprechenden Maske dafür
Schalter, Buttons, o.ä.?

Wieso Schalter und Buttons? Thomas Krumbein hat Dir das schon sehr
ausführlich aufgeschrieben. Du brauchst, wenn Du das Makro fertig hast,
nur einen Button - und den drückst Du, wenn so ein Dokument mit den
merkwürdigen Zeichen auftaucht. Dann werden alle Zeichen, die Du in dem
Array aSearch aufgezeigt hast durch die Zeichen in aReplace ersetzt.

Auch wie so ein Makro in eine Symbolleiste eingebaut werden kann steht
in Thomas Mail.

Gruß

Robert

Hallo Robert,

>
> Hilfreich wäre nun für mich ein Tipp, wie ich das vorhandene Makro
> um weitere Zeichen aufstocke. Gibt es in der entsprechenden Maske
> dafür Schalter, Buttons, o.ä.?

Wieso Schalter und Buttons? Thomas Krumbein hat Dir das schon sehr
ausführlich aufgeschrieben. Du brauchst, wenn Du das Makro fertig
hast, nur einen Button - und den drückst Du, wenn so ein Dokument mit
den merkwürdigen Zeichen auftaucht.

Das weiß ich doch alles. Offenbar aber ist Dir mein Posting von heute
morgen 9.14 Uhr entgangen, mit dem (bzw. zusammen mit dem von 1 Stunde
vorher) ich Deinem von 7.59 Uhr geantwortet hatte. Es enthielt einen
Hinweis darauf, dass ich bereits ein funktionierendes Makro habe und
einen Link auf eine Seite mit dem Inhalt:

https://paste.ubuntu.com/p/c8N2rqKTzB/

Es geht mir also um genau die Frage von hier weiter oben: Wie ich das
vorhandene Makro um weitere Zeichen aufstocke (und nicht darum, wie
ich ein neues erstelle). Zitat aus meiner Mail von heute Morgen:

Die von mir erwähnten, zusätzlichen Zeichen sind zwar nicht dabei,
aber es ist gut möglich, dass ich sie damals noch gar nicht benutzt
habe. Falls erforderlich, müsste ich das Makro erweitern. Die Frage
ist nur: Wie geht das? Ins vorhandene Makro einfach einen Abschnitt
per copy 'n' paste neu einfügen und anpassen?

Viele Grüße

Rainer

Hallo Rainer,

Das weiß ich doch alles. Offenbar aber ist Dir mein Posting von heute
morgen 9.14 Uhr entgangen, mit dem (bzw. zusammen mit dem von 1 Stunde
vorher) ich Deinem von 7.59 Uhr geantwortet hatte. Es enthielt einen
Hinweis darauf, dass ich bereits ein funktionierendes Makro habe und
einen Link auf eine Seite mit dem Inhalt:

https://paste.ubuntu.com/p/c8N2rqKTzB/

Das, was Du da hast, kann das natürlich bewerkstelligen, macht aber doch
nicht das, was das Makro von Thomas macht. Da steht in ca. 15 Zeilen
alles, was Du komplett brauchst - nichts zum Aufstocken eines Suchmakros
von über 300 Zeilen. Die Paare für die Zeichen stehen bei Thomas in den
Arrays.
Du brauchst aus Deinem Makro nur die Paare
args5(10).Name = "SearchItem.SearchString"
args5(10).Value = "§"
args5(11).Name = "SearchItem.ReplaceString"
args5(11).Value = "ß"

args4(10).Name = "SearchItem.SearchString"
args4(10).Value = "š"
args4(11).Name = "SearchItem.ReplaceString"
args4(11).Value = "ö"

... usw.

und hast dann bei Thomas Makro
aSearch = array("§","š", usw.)
aReplace = array("ß","ö", usw.)

Die ganzen zusätzlichen Zeilen in Deinem Makro sind bei dem, was Thomas
aufgeschrieben hat, unnötig. Du brauchst dafür pro Buchstabe ein Array
von 18 Paaren(args(0) bis args(18). In dem Makro von Thomas sind das 2
Arrays, bei denen lediglich die Buchstaben paarweise eingetragen werden
müssen).

Gruß

Robert

Hallo Robert,

>
> https://paste.ubuntu.com/p/c8N2rqKTzB/

Das, was Du da hast, kann das natürlich bewerkstelligen, macht aber
doch nicht das, was das Makro von Thomas macht.

Sorry, aber ich habe keine Ahnung vom Umgang mit Makros und weiß auch
nicht mehr, wie ich zu dem vorhandenen gekommen bin. Dass das von
Thomas ein (bis auf vielleicht ein paar mehr, noch fehlende Zeichen)
komplettes und im Vergleich zu meinem abgespecktes ist, war mir nicht
klar.

Da steht in ca. 15 Zeilen alles, was Du komplett brauchst - nichts
zum Aufstocken eines Suchmakros von über 300 Zeilen. Die Paare für
die Zeichen stehen bei Thomas in den Arrays.

[..]

und hast dann bei Thomas Makro
aSearch = array("§","š", usw.)
aReplace = array("ß","ö", usw.)

Die ganzen zusätzlichen Zeilen in Deinem Makro sind bei dem, was
Thomas aufgeschrieben hat, unnötig. Du brauchst dafür pro Buchstabe
ein Array von 18 Paaren(args(0) bis args(18). In dem Makro von Thomas
sind das 2 Arrays, bei denen lediglich die Buchstaben paarweise
eingetragen werden müssen).

OK.

Die Frage ist, wie schreite ich zur Tat? Leeres Textdokument öffnen ->
Extras -> Makros -> Makro aufzeichnen -> ins leere Dokument das (um ein
paar weitere Zeichen ergänzte) Makro von Thomas hineinkopieren?

Wenn sich herausstellen sollte, dass noch nicht alle Zeichen erfasst
wurden: Lässt sich das Makro dann ändern (erweitern)?

Und wenn mir etwas nicht auf Anhieb gelingt: Wie werde ich fehlerhafte
Makros bzw. Module wieder los? Derzeit sieht es so bei mir aus:

http://sambalada.de/Makros.png

Aber wenn ich z.B. ein Modul markiere, finde ich nirgends eine
Funktion, mit der ich es löschen könnte. Wenn ich es wüsste, wäre ich
beim Ausprobieren wohl etwas mutiger :wink:

Viele Grüße

Rainer

Schau mal da:

https://wiki.documentfoundation.org/images/9/94/ErsteSchritte_Handbuch_Kapitel_13_MakrosEinfuehrung_V52.pdf

Gruß
Hans-Werner

------ Originalnachricht ------

Hallo Rainer,

zuerst einmal diesen Inhalt von Thomas kopieren:

SUB MySearchReplace
  dim aSearch()
  dim aReplace()

  aSearch = array("§","š")
  aReplace = array("ß","ö")

For i = 0 to ubound(aSearch)
   oReplace = ThisComponent.CreateReplaceDescriptor
   With oReplace
     .SetSearchString(aSearch(i))
     .SetReplaceString(aReplace(i))
     .SearchCaseSensitive = True
   end with
   ThisComponent.replaceAll(oReplace)
next
END SUB

Das Makro kannst Du später ergänzen. In dem Arraypaar stehen jetzt nur
die Zuordnungen § → ß und š → ö. Da kannst Du weitere Zuordnungen
ergänzen, indem Du immer ein Komma setzt und dann den neuen Wert
eingibst - auch später noch, wenn das Makro längst abgespeichert ist.

Öffne nach dem Kopieren
Extras > Makros > Makros verwalten > LibreOffice Basic
Unter Meine Makros > Standard > Module1 kannst Du über Bearbeiten den
Editor öffnen. Gegebenenfalls hast Du hier noch kein Modu. Das muss
vorher erstellt werden.
Hast Du den Writer geöffnet, so geht auch
Extras > Makros > Makros bearbeiten
Dann landest Du direkt in dem Ordner "Standard".

In das dortige Modul fügst Du das obige Makro ein. Würdest Du jetzt von
einem der "befallenen" Dateien das Makro über
Extras > Makro ausführen
starten, so würden eben nur die 2 bisher verzeichneten Paare ausgetauscht.

Über
Extras > Symbolleisten > Kategorie "Makros"
kannst Du das Makro aussuchen und über den Pfeil nach rechts der
Symbolleiste "Standard" hinzufügen. Der Titel des Makros erscheint jetzt
ausgeschrieben als "MySearchReplace" ganz rechts auf der Symbolleiste.
Du benötigst also kein Symbol, wenn Du auch mit der Textfassung
zufrieden bist.

Über den Button kannst Du jetzt das Makro direkt starten, sobald Du ein
"befallenes" Dokument hast.

Anschließend kannst Du auch weiterhin noch Paare zu dem Makro hinzufügen.

Gruß

Robert

Hallo Robert,

SUB MySearchReplace

  Snip

END SUB

Nebenbei mal ne ergänzende Frage: Welche Programmiersprachen werden für die
Makroprogrammierung eigentlic unterstützt

Bitte nur kurzen Hinweis, Link tut's auch.

Hey Matthias,

eigentlich.... fast alle;)

Mit der eingebauten IDE:  nur LO-Basic (bedingt auch VBA im Kompatibilitätsmodus - keine volle Objektunterstützung!)

Ansonsten nativ: Python, JavaScript, C++ und in Verb. mit JRE auch Java

Über entsprechende Bridges (Verbindungsobjekte) auch so ziemlich alle wichtigen Sprachen , also auch z.B. PHP etc.

Läuft alles im Ergebnis auf die UNO-Objekte hinaus. Die musst Du halt ansprechen und verarbeiten:)

VG

Thomas

Hallo Thomas,

Hey Matthias,

eigentlich.... fast alle;)

Danke, das reicht mir als Auskunft.

Rest gelöscht weil erschöpfend.

Mit der eingebauten IDE: nur LO-Basic (bedingt auch VBA im
Kompatibilitätsmodus - keine volle Objektunterstützung!)

Nicht in LO's eigener IDE bearbeitbar, aber zumindest über ein
Editierfenster in LibreOffice mit debuggingfunktionalität:
javascript/beanshell (rhino JS editor/debugger)

Ansonsten nativ: Python, JavaScript, C++ und in Verb. mit JRE auch Java

javasript/beanshell auch nur in Verbindung mit einer JRE

ciao
Christian

Hallo Robert,

zuerst einmal diesen Inhalt von Thomas kopieren:

Habe ich gemacht und nur diese Zeile:

SUB MySearchReplace

vorläufig in "SUB Zeichen" umbenannt.

Das Makro kannst Du später ergänzen. In dem Arraypaar stehen jetzt nur
die Zuordnungen § → ß und š → ö. Da kannst Du weitere Zuordnungen
ergänzen, indem Du immer ein Komma setzt und dann den neuen Wert
eingibst - auch später noch, wenn das Makro längst abgespeichert ist.

Das ist gut. Deshalb habe ich es zunächst versuchsweise bei den beiden
Arraypaaren belassen.

Öffne nach dem Kopieren
Extras > Makros > Makros verwalten > LibreOffice Basic
Unter Meine Makros > Standard > Module1 kannst Du über Bearbeiten den
Editor öffnen.
Hast Du den Writer geöffnet, so geht auch
Extras > Makros > Makros bearbeiten
Dann landest Du direkt in dem Ordner "Standard".

In das dortige Modul fügst Du das obige Makro ein.

Hat geklappt:

http://sambalada.de/LO_Basic_Makros.png

Würdest Du jetzt von einem der "befallenen" Dateien das Makro über
Extras > Makro ausführen starten, so würden eben nur die 2 bisher
verzeichneten Paare ausgetauscht.

Hat bei meinem Test funktioniert.

Extras > Symbolleisten > Kategorie "Makros"
kannst Du das Makro aussuchen und über den Pfeil nach rechts der
Symbolleiste "Standard" hinzufügen.

Hier:

http://sambalada.de/SL_Makros.png

ist zu sehen, dass die Pfeile ausgegraut sind und nichts geht. Hat eine
Weile gedauert, bis ich herausgefunden hatte, dass sich der Zustand
nicht durch einen Klick auf das vorangestellte "+" ändern lässt,
sondern durch einen Doppelklick auf "Zeichen". Dadurch sind nicht nur
die Makros zu sehen, sondern werden auch die Pfeile in der Mitte
aktiviert, und eine Schaltfläche lässt sich wie gewünscht einrichten.

Der Rest ist Such- und Fleißarbeit. Die bekannten Arraypaare übersetze
ich später und anschließend immer die, auf die ich im Laufe der Zeit
stoße.

Vielen Dank und viele Grüße

Rainer

Hallo Rainer,

http://sambalada.de/SL_Makros.png

Das sieht bei mir etwas anders aus. Bei mir öffnet sich auf einen Klick
auf das führende Zeichen ">" (bei Dir "+") der komplette Verzeichnisbaum
von "Meine Makros". Und wenn ich dann das Makro anklicke, das ich haben
will, dann sind die Pfeile auch aktiv.

ist zu sehen, dass die Pfeile ausgegraut sind und nichts geht. Hat eine
Weile gedauert, bis ich herausgefunden hatte, dass sich der Zustand
nicht durch einen Klick auf das vorangestellte "+" ändern lässt,
sondern durch einen Doppelklick auf "Zeichen".

"Zeichen" sehe ich bei Dir im Screenshot nicht. Ich hätte dort direkt
"+" betätigt.

Funktioniert jetzt aber doch, oder habe ich das falsch verstanden?

Gruß

Robert

Hallo Robert,

>
> http://sambalada.de/SL_Makros.png

Das sieht bei mir etwas anders aus. Bei mir öffnet sich auf einen
Klick auf das führende Zeichen ">" (bei Dir "+") der komplette
Verzeichnisbaum von "Meine Makros". Und wenn ich dann das Makro
anklicke, das ich haben will, dann sind die Pfeile auch aktiv.
>

Wie gesagt: Ein Klick auf "+" bewirkt nichts (keine Reaktion).

> ist zu sehen, dass die Pfeile ausgegraut sind und nichts geht. Hat
> eine Weile gedauert, bis ich herausgefunden hatte, dass sich der
> Zustand nicht durch einen Klick auf das vorangestellte "+" ändern
> lässt, sondern durch einen Doppelklick auf "Zeichen".

"Zeichen" sehe ich bei Dir im Screenshot nicht.

Stimmt. Ich wahl wohl im Tran und habe versehentlich "Zeichen"
geschrieben, obwohl es hätte "Meine Makros" heißen müssen :wink:

Funktioniert jetzt aber doch, oder habe ich das falsch verstanden?

Ja, funktioniert bestens.

Viele Grüße

Rainer

Hallo zusammen,

nachgefragt:

> Danach sofort als PDF/A exportieren. PDF/A deshalb, weil es ein
> ISO-genormtes Archivformat ist, siehe
> https://de.wikipedia.org/wiki/PDF/A
>
Exportiert LO denn nicht in PDF/A?

Weiß hier jemand, ob LO in PDF/A exportiert oder ob ich prüfen kann, ob
es sich bei einem exportierten LO-Dokument um das Format handelt? Die
Wiki-Seite bietet zwar einen Link zu einer entsprechenden Seite an, und
dort ist von einem Checker die Rede. Aber schlau werde ich nicht
daraus. Scheint eine Software zu sein.

Viele Grüße

Rainer