BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Marko oder Shellprogramm für Aktualisierung von Calc-Dokumenten

Alles zur Programmierung im LibreOffice.
Linuxfreund
Beiträge: 8
Registriert: So 5. Nov 2017, 15:04

Marko oder Shellprogramm für Aktualisierung von Calc-Dokumenten

Beitrag von Linuxfreund » So 5. Nov 2017, 15:10

Hallo,

ich habe eine Vielzahl von Calc-Dokumenten die miteinander verknüpft sind.
Diese muss ich im Moment manuell nacheinander öffnen, aktualisieren, speichern und schließen.

Ich würde gerne eine Makro oder ein Shell-Programm schreiben, dass nacheinander jedes einzelne Calc-Dokument öffnet, aktualisert, speichert und schließt.
Weder bei Google noch in Foren habe ich vergleichbares gefunden.
Kann mir jemand helfen.

Gruß und Danke
Linuxfreund

F3K Total
Beiträge: 2410
Registriert: So 10. Apr 2011, 10:10

Re: Marko oder Shellprogramm für Aktualisierung von Calc-Dokumenten

Beitrag von F3K Total » Mo 6. Nov 2017, 17:33

Hi,
da du weder schreibst mit welcher Version von LO du arbeitest, noch dein Betriebssystem angibst und auch nicht erklärst, wie die Dateien miteinander verknüpft sind, fehlen zu viele Informationen um dir zu helfen.

Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

Linuxfreund
Beiträge: 8
Registriert: So 5. Nov 2017, 15:04

Re: Marko oder Shellprogramm für Aktualisierung von Calc-Dokumenten

Beitrag von Linuxfreund » Mo 6. Nov 2017, 20:45

Danke für den Hinweis. Sorry.

Betriebssystem: Linux Manjaro
Libre Office: Version 5.3.7.2.0+ Build-ID 5.3.7-4
Bildschirmfoto_2017-11-06_20-38-43.png
Bildschirmfoto_2017-11-06_20-38-43.png (24.7 KiB) 3788 mal betrachtet
Diese Verknüpfung ist z.B. in dem Dokument "Unbekannt 2" eingebunden.

Hoffe, dass diese Infos helfen.
Nochmals vielen Dank.
Gruß
Linuxfreund

F3K Total
Beiträge: 2410
Registriert: So 10. Apr 2011, 10:10

Re: Marko oder Shellprogramm für Aktualisierung von Calc-Dokumenten

Beitrag von F3K Total » Di 7. Nov 2017, 17:12

Moin,
so geht's schon besser. Um die Verknüpfungen der Dateien
  • Zieldatei1.ods
  • Zieldatei2.ods
  • Zieldatei3.ods
  • Zieldatei4.ods
  • Zieldatei5.ods
im Ordner /home/USER/Dokumente/Linuxfreund/
im Hintergrund zu aktualisieren, funktionieren diese beiden Makros, aus LO heraus gestartet.

Code: Alles auswählen

Sub UpdateAll
    Load_Update_Save("Zieldatei1.ods")
    Load_Update_Save("Zieldatei2.ods")
    Load_Update_Save("Zieldatei3.ods")
    Load_Update_Save("Zieldatei4.ods")
    Load_Update_Save("Zieldatei5.ods")
    print "fertig"
end sub

Sub Load_Update_Save(Dateiname)
    Dim sVorlage as String
    sVorlage = ConverttoUrl("/home/USER/Dokumente/Linuxfreund/"+Dateiname)
    Dim Args(1) As New "com.sun.star.beans.PropertyValue"
    Args(0).Name = "UpdateDocMode"
    Args(0).Value = com.sun.star.document.UpdateDocMode.QUIET_UPDATE
    Args(1).Name = "Hidden"
    Args(1).Value = true
    oDoc = StarDesktop.loadComponentFromUrl(sVorlage, "_blank", 0, Args())
    for i = 0 to odoc.AreaLinks.Count - 1
        odoc.AreaLinks(i).refresh
    next i
    oDoc.store
    oDoc.close - 1
End Sub
Unter Linux-Mint getestet.
Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO

Linuxfreund
Beiträge: 8
Registriert: So 5. Nov 2017, 15:04

Re: Marko oder Shellprogramm für Aktualisierung von Calc-Dokumenten

Beitrag von Linuxfreund » Di 7. Nov 2017, 18:47

Vielen Dank.

Da ich mit Makros leider noch nicht soviel gearbeitet habe, habe ich noch eine Verständnisfrage.

Bei meinen bisherigen Versuchen habe ich bisher die Testmakro direkt bei dem einen Dokument angehängt. Hatte es so verstanden, dass eine Makro immer nur für die eine angewendet wird.

Hier bezieht sich das erste Makro auf fünf Dokumente. Wo und wie muss ich dieses Makro einhängen?

Oder kann ich ein Makro ohne direktem Dateinamen generell bei allen Dokumenten einbinden, damit bei Verknüpfungen immer automatisch aktualisiert und gespeichert wird?

Gruß
Linuxfreund

F3K Total
Beiträge: 2410
Registriert: So 10. Apr 2011, 10:10

Re: Marko oder Shellprogramm für Aktualisierung von Calc-Dokumenten

Beitrag von F3K Total » Di 7. Nov 2017, 19:04

Wenn die Pfade stimmen, ist es egal ob du das Makro UpdateAll aus einem Dokument oder direkt aus LO (unter "meine Makros") startest. Es werden die fünf Dateien geöffnet, aktualisiert, gespeichert und wieder geschlossen. Den Verknüpfungspfad haben sie ja in sich.
R
Windows 10: AOO, LO Linux Mint: AOO, LO

Linuxfreund
Beiträge: 8
Registriert: So 5. Nov 2017, 15:04

Re: Marko oder Shellprogramm für Aktualisierung von Calc-Dokumenten

Beitrag von Linuxfreund » Di 7. Nov 2017, 21:39

Ich habe beide Makros mal getestet, aber anscheinend mache ich etwas falsch.
Gestartet habe ich die Makros direkt mit "Makro ausführen", ohne vorher ein Dokument zu öffnen.
Bei der ersten Makro habe ich die folgende Fehlermeldung bekommen.
Ich habe die verschiedenen Schreibformen des Dokuments getestet (mal mit der Verzeichnisstruktur und mal nur den Dokumentennamen). Der Fehler lautete immer gleich.
Bildschirmfoto_2017-11-07_20-53-38.png
Bei der zweiten Makro habe ich die folgende Fehlermeldung erhalten:
Bildschirmfoto_2017-11-07_21-09-21.png

Linuxfreund
Beiträge: 8
Registriert: So 5. Nov 2017, 15:04

Re: Marko oder Shellprogramm für Aktualisierung von Calc-Dokumenten

Beitrag von Linuxfreund » Di 7. Nov 2017, 21:41

Die Bilder hat er eben leider nicht angezeigt. Zweiter Versuch
Bildschirmfoto_2017-11-07_20-53-38.png
Bildschirmfoto_2017-11-07_20-53-38.png (31.27 KiB) 3750 mal betrachtet
Bildschirmfoto_2017-11-07_20-53-38.png
Bildschirmfoto_2017-11-07_20-53-38.png (31.27 KiB) 3750 mal betrachtet
Dateianhänge
Bildschirmfoto_2017-11-07_21-09-21.png
Bildschirmfoto_2017-11-07_21-09-21.png (61.39 KiB) 3750 mal betrachtet

mikele
Beiträge: 1642
Registriert: Mo 1. Aug 2011, 20:51

Re: Marko oder Shellprogramm für Aktualisierung von Calc-Dokumenten

Beitrag von mikele » Mi 8. Nov 2017, 10:15

Hallo,

beide Makros am besten in ein Modul schreiben, damit sie sich untereinander finden ...
Gruß,
mikele

musikai
Beiträge: 262
Registriert: Do 14. Mai 2015, 17:53

Re: Marko oder Shellprogramm für Aktualisierung von Calc-Dokumenten

Beitrag von musikai » Mi 8. Nov 2017, 11:54

Außerdem sind nun die Pfade im Code ungünstig verändert.
Das Original funktioniert so:
Das erste Macro (UpdateAll), das Hauptprogramm, das Du ausführen musst, nennt nur die Dateinamen. Es bedient sich dann dem 2.Macro, in dem der Pfad angegeben ist. An den hängt es dann den Dateinamen an. Pass auf, dass Du nicht doppelt moppelst.
Win7 Pro, Sibelius 7.1.3, Lubuntu 15.10, LibO 4.4.7, OO 4.1.3
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
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