Hallo,
ich habe ein Calc-Dokument mit Grunddaten und mehrere Calc-Dokumente mit Berechnungen, die auf die Grunddaten und teilweise auf andere Berechnungsdokumente zugreifen. Um die Berechnungen zu aktualisieren, müssen alle Dokumente nacheinander geöffnet, (unter dem gleichen Namen) gespeichert und geschlossen werden. Für derartige Arbeitsschritte biete sich mein Ansicht nach ein Makro an.
Leider fehlt mir jedoch das Fachwissen. Es gibt schon einige Beiträge im Forum. Aber leider weichen diese immer von einander etwas ab, so dass ich da auch noch nicht ganz schlau geworden bin.
Kann mir jemand vielleicht die folgenden Schritte entsprechend für ein OO-Makro „übersetzten“? (ich habe Linux installiert)
1. Open Office Calc-Dokument „home/Daten.ods“.öffnen
2. Das Dokument „home/Daten.ods“ (unter dem gleichen Namen) speichern
3. Diese Dokument schließen.
4. Open Office Calc-Dokument „home/Berechnung 1.ods“.öffnen
5. Das Dokument „home/Berechnung 1.ods“ (unter dem gleichen Namen) speichern
6. Diese Dokument schließen.
etc.
Schon einmal vielen Dank im voraus.
Gruß
Linuxfan
Makro öffnen, speichern, schließen von Calc-Dokumenten
Moderator: Moderatoren
Re: Makro öffnen, speichern, schließen von Calc-Dokumenten
Hey Linuxfan,
auch wenn das schon häufig in den Foren gepostet wurde, hier der Weg für ein Dokument. Das Zweite baust du dir analog darunter
Viele Grüße
Thomas
auch wenn das schon häufig in den Foren gepostet wurde, hier der Weg für ein Dokument. Das Zweite baust du dir analog darunter

Code: Alles auswählen
sub DateiOeffnenUndSpeichern
dim oDoc as object 'das Dokument
dim arg() as new com.sun.star.beans.PropertyValue
dim sURL as string 'der pfad zu der Datei
sURL = convertToURL("home/Daten.ods")
REM Öffnen des Dokumentes
oDoc = StarDesktop.loadComponentFromURL(sUrl, "_blank", 0, Arg())
REM Speichern des Dokumentes
oDoc.store()
REM Schliessen des Dokumentes
oDoc.close(true)
end sub
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Makro öffnen, speichern, schließen von Calc-Dokumenten
Ich glaube das Konzept (der Aufbau der Daten, Berechnung und deren Ablage) ist falsch, wenn der Kollege eine Datei aufmachen und speichern muss, um einen aktualisierten Wert zu erhalten.
Was geht mit DDE nicht?
Was geht mit DDE nicht?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Makro öffnen, speichern, schließen von Calc-Dokumenten
Hallo,
erst einmal vielen Dank.
Ich habe DDE am Anfang auch ausprobiert. Die Anzahl der unterschiedlichen Berechungen sind jedoch so umfangreich, dass sie auf eine Vielzahl von Dokumente gesplittet werden müssen. Bei DDE werden dann ja immer alle beteiligten Dokumente geöffnet. Bei einigen Berechnungswegen ist dann der PC überfordert, aufgrund der Anzahl der Dokumente.
Nun habe ich noch eine Nachfrage zu den o.g. Zeilen. Das Öffnen funktioniert schon mal. Ich habe jedoch festgestellt, dass er die vorhandenen Verknüpfungen nicht akualisiert.
Ich habe manuell mit Makroaufzeichnung versucht den Befehl herauszufinden. In der Aufzeichnung steht :
dispatcher.executeDispatch(document, ".uno:EditLinks", "", 0, Array())
Wenn ich diese Zeile jedoch in meine Makro übernehme erhalte ich eine Fehlermeldung.
Kann mir jemand sagen, welche Zeilen ich für Aktualisieren von Verknüpfungen eintragen muss?
Vielen Dank und Gruß
Linuxfan
erst einmal vielen Dank.
Ich habe DDE am Anfang auch ausprobiert. Die Anzahl der unterschiedlichen Berechungen sind jedoch so umfangreich, dass sie auf eine Vielzahl von Dokumente gesplittet werden müssen. Bei DDE werden dann ja immer alle beteiligten Dokumente geöffnet. Bei einigen Berechnungswegen ist dann der PC überfordert, aufgrund der Anzahl der Dokumente.
Nun habe ich noch eine Nachfrage zu den o.g. Zeilen. Das Öffnen funktioniert schon mal. Ich habe jedoch festgestellt, dass er die vorhandenen Verknüpfungen nicht akualisiert.
Ich habe manuell mit Makroaufzeichnung versucht den Befehl herauszufinden. In der Aufzeichnung steht :
dispatcher.executeDispatch(document, ".uno:EditLinks", "", 0, Array())
Wenn ich diese Zeile jedoch in meine Makro übernehme erhalte ich eine Fehlermeldung.
Kann mir jemand sagen, welche Zeilen ich für Aktualisieren von Verknüpfungen eintragen muss?
Vielen Dank und Gruß
Linuxfan