Hallo,
ich bin dabei MS Excel durch LibreOffice Calc abzulösen.
Über VB-Skript erstelle ich mit CreateObject("Excel.Application") einen Task.
Das kann ich beliebig oft wiederholen und habe so immer einen eigenen Prozess.
Wie ist das bei LibreOffice? Kann ich hier auch mehrere Tasks erstellen?
Viele Grüße
Robert
mehrere Tasks
Moderator: Moderatoren
Re: mehrere Tasks
Hallo
VBA != (Star-)Basic
in Basic existiert der Begriff `Task` nicht.
Es wäre sinnvoller du beschreibst das worum es geht, ohne VBA-Sprech zu benutzen.
( und ja - man kann in Basic verschiedene Calc-dokumente ansprechen, ohne jedesmal ein neues Fass aufzumachen respektive eine neue Office-instanz zu starten)
VBA != (Star-)Basic
in Basic existiert der Begriff `Task` nicht.
Es wäre sinnvoller du beschreibst das worum es geht, ohne VBA-Sprech zu benutzen.
( und ja - man kann in Basic verschiedene Calc-dokumente ansprechen, ohne jedesmal ein neues Fass aufzumachen respektive eine neue Office-instanz zu starten)
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: mehrere Tasks
Hallo Robert,
Excel ist ein eigenständiges Programm, genau so wie Word oder Powerpoint.
Bei StarOffice, OpenOffice.org, LibreOffice und ApacheOpenOffice geht das deshalb nicht, weil der Kern immer der gleiche ist sich jedoch lediglich die Oberfläche ändert, wenn man Calc oder Wrirter aufruft (mal etwas Laienhaft ausgedrückt).
Gruß
balu
Nein, geht nicht!Kann ich hier auch mehrere Tasks erstellen?
Excel ist ein eigenständiges Programm, genau so wie Word oder Powerpoint.
Bei StarOffice, OpenOffice.org, LibreOffice und ApacheOpenOffice geht das deshalb nicht, weil der Kern immer der gleiche ist sich jedoch lediglich die Oberfläche ändert, wenn man Calc oder Wrirter aufruft (mal etwas Laienhaft ausgedrückt).
Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.
wehr rächtschraipfähler findet khan si behalden
wehr rächtschraipfähler findet khan si behalden
Re: mehrere Tasks
Bei LibreOffice garnicht (so beobachtet in der aktuellen Version 4.4.3), bei OpenOffice ist es zwar theoretisch möglich, aber nicht nötig und auch nicht zu empfehlen.Wie ist das bei LibreOffice? Kann ich hier auch mehrere Tasks erstellen?
Der Zugriff per WSH erfolgt normalerweise über die entsprechende COM-Komponente:
Set objServiceManager= WScript.CreateObject("com.sun.star.ServiceManager")
hier ist ein kurzes Beispiel (viewtopic.php?t=1460):
Code: Alles auswählen
'===============================================================
' Calc-Dokument erzeugen, Werte eintragen, als *.xls speichern
' Sprache: VBScript Datum: 05.08.2004
'===============================================================
Set ser_man = WScript.CreateObject("com.sun.star.ServiceManager")
Set desk = ser_man.createInstance("com.sun.star.frame.Desktop")
Dim no_arg()
Set Doc = desk.loadComponentFromURL("private:factory/scalc", "_blank", 0, no_arg)
Set sheet = Doc.getSheets().getByIndex(0)
Call sheet.getCellByPosition(0, 0).SetFormula("Zelle A1")
Call sheet.getCellByPosition(1, 0).SetFormula("Zelle B1")
Call sheet.getCellByPosition(2, 0).SetFormula("Zelle C1")
Dim sich_arg(0)
Set sich_arg(0) = ser_man.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
sich_arg(0).Name = "FilterName"
sich_arg(0).Value = "MS Excel 97"
Doc.storeToURL "file:///d:/calc_to_excel.xls", sich_arg
Doc.close(true)
Siehe auch:
https://wiki.openoffice.org/wiki/Docume ... _Component
http://www.kalitech.fr/clients/doc/VB_APIOOo_en.html
Gruß
Stephan
Re: mehrere Tasks
@Karolus
LibreOffice läuft unter Windows, daher Task .
@balu
Danke für das klare 'NEIN'
@Worum es geht:
Aus einem DMS werden Excel-Dokumente geöffnet. Über einen Button wird gedruckt, Datenbankeinträge aktualisiert etc.
Bisher wird Excel verwendet, jetzt soll Calc zum Einsatz kommen. Durch den eigenen Prozess passt das mit den Variablen unter Excel.
Jetzt unter Calc geht das natürlich nicht mehr so. Verwende hier Globale Variablen, der Bezug zum Dokument muss her.
Kann ich die Werte irgendwo im Dokument-Objekt ablegen? XRay und MRI sind mir bekannt, bin aber noch nicht fündig geworden.
Meine Idee wäre jetzt alle Variablen und Parameter extern zu speichern und bei Bedarf wieder einzulesen. Wirklich gefallen tut mir das nicht.
Gruß
Robert
LibreOffice läuft unter Windows, daher Task .
@balu
Danke für das klare 'NEIN'
@Worum es geht:
Aus einem DMS werden Excel-Dokumente geöffnet. Über einen Button wird gedruckt, Datenbankeinträge aktualisiert etc.
Bisher wird Excel verwendet, jetzt soll Calc zum Einsatz kommen. Durch den eigenen Prozess passt das mit den Variablen unter Excel.
Jetzt unter Calc geht das natürlich nicht mehr so. Verwende hier Globale Variablen, der Bezug zum Dokument muss her.
Kann ich die Werte irgendwo im Dokument-Objekt ablegen? XRay und MRI sind mir bekannt, bin aber noch nicht fündig geworden.
Meine Idee wäre jetzt alle Variablen und Parameter extern zu speichern und bei Bedarf wieder einzulesen. Wirklich gefallen tut mir das nicht.
Gruß
Robert
-
- Beiträge: 3
- Registriert: Mi, 19.05.2021 12:56
Re: mehrere Tasks
Hey,Stephan hat geschrieben: ↑Do, 09.07.2015 07:40Bei LibreOffice garnicht (so beobachtet in der aktuellen Version 4.4.3), bei OpenOffice ist es zwar theoretisch möglich, aber nicht nötig und auch nicht zu empfehlen.Wie ist das bei LibreOffice? Kann ich hier auch mehrere Tasks erstellen?
Der Zugriff per WSH erfolgt normalerweise über die entsprechende COM-Komponente:
Set objServiceManager= WScript.CreateObject("com.sun.star.ServiceManager")
hier ist ein kurzes Beispiel (http://de.openoffice.info/viewtopic.php?t=1460):Code: Alles auswählen
'=============================================================== ' Calc-Dokument erzeugen, Werte eintragen, als *.xls speichern ' Sprache: VBScript Datum: 05.08.2004 '=============================================================== Set ser_man = WScript.CreateObject("com.sun.star.ServiceManager") Set desk = ser_man.createInstance("com.sun.star.frame.Desktop") Dim no_arg() Set Doc = desk.loadComponentFromURL("private:factory/scalc", "_blank", 0, no_arg) Set sheet = Doc.getSheets().getByIndex(0) Call sheet.getCellByPosition(0, 0).SetFormula("Zelle A1") Call sheet.getCellByPosition(1, 0).SetFormula("Zelle B1") Call sheet.getCellByPosition(2, 0).SetFormula("Zelle C1") Dim sich_arg(0) Set sich_arg(0) = ser_man.Bridge_GetStruct("com.sun.star.beans.PropertyValue") sich_arg(0).Name = "FilterName" sich_arg(0).Value = "MS Excel 97" Doc.storeToURL "file:///d:/calc_to_excel.xls", sich_arg Doc.close(true)
Siehe auch:
https://wiki.openoffice.org/wiki/Docume ... _Component
http://www.kalitech.fr/clients/doc/VB_APIOOo_en.html
Gruß
Stephan
ich sehe es genauso wie Stefan. Allerdings wäre OpenOffice eine gute Alternative zu den mehreren Tasks.
Unentwickelte Technik ist unentwickelte Phantasie.