Nutzung eines Word VBA Makros in ODT Datei

Hallo,

ich habe ein funktionierendes Word VBA Makro welches ich in Libre Office mit ODT Dateien nutzen will. Da dies das erste Mal ist, dass ich LibreOffice Makros nutze, habe ich leider wenig Vorkenntnisee. Ich habe nun ein neues Makro erstellt in Libre Office als Basic und habe:

Rem Attribute VBA_ModuleType=VBAModule
Option VBASupport 1

vor den Beginn des Makros gestellt. Nun gibt es aber einige Objekte mit denen LibreOffice nichts anfangen kann. Zb. ActiveDocument.Paragraphs, ActiveDocument.Range

Wie kann ich diese ersetzen? Ich brauche eine Methode, um im Text des Word Dokuments durch jede Zeile zu iterieren und die Möglichkeit den Text in einer Zeile zu verändern. Welche LibreOffice Objekte muss ich dafür nutzen?

  1. Ebenfalls muss ich ein Datumsfeld erstellen, bzw aktualisieren. Dazu nutze ich in VBA aktuell folgende Aufrufe:
    ActiveDocument.Fields.Item(Counter), um durch jedes Feld zu iterieren
    ActiveDocument.Fields.Item(Counter).Type = Word.WdFieldType.wdFieldDate, um zu prüfen um es sich um ein Datumsfeld handelt und ActiveDocument.Fields.Item(Counter).Update um das Datum im Feld zu aktualisieren. Welches passende Äquivalent gibt es da in Libre Office?

Wozu willst Du das Datum eines Datumsfeldes per Makro aktualisieren? Entweder Du arbeitest mit Dokumentenvorlagen, dann hat das Datumsfeld das Speicherdatum und bleibt auch dort, oder Du änderst die Art des Feldes von “Datum (fix)” zu “Datum”, dann aktualisiert sich das Datum jedes mal beim Öffnen.

Wenn das Dokument gespeichert wird, dann muss das Datum fix sein, wenn es dann wieder geöffnet wird. Erst wenn sich jemand aktiv entscheidet das Dokument zu bearbeiten, dann wird das Datum auf heute geändert. Alternative zum Feld wäre es nur mit Text zu arbeiten.
Aber auch dazu brauche ich die passenden Objekte mit denen ich arbeiten kann wenn .Paragraphs nicht funktioniert

Dafür gibt es doch die Änderungszeit der Datei, ebenfalls zugänglich als Textfeld. Wenn das die Art ist, wie Du einen Textprozessor benutzt, dann bleibe doch besser bei MS Word.