mehrere Tasks

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

urbarobe
**
Beiträge: 25
Registriert: Mi, 08.07.2015 14:30

mehrere Tasks

Beitrag von urbarobe »

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
Karolus
********
Beiträge: 7440
Registriert: Mo, 02.01.2006 19:48

Re: mehrere Tasks

Beitrag von Karolus »

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)
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: mehrere Tasks

Beitrag von balu »

Hallo Robert,
Kann ich hier auch mehrere Tasks erstellen?
Nein, geht nicht!

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 :D
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: mehrere Tasks

Beitrag von Stephan »

Wie ist das bei LibreOffice? Kann ich hier auch mehrere Tasks erstellen?
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.

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
urbarobe
**
Beiträge: 25
Registriert: Mi, 08.07.2015 14:30

Re: mehrere Tasks

Beitrag von urbarobe »

@Karolus
LibreOffice läuft unter Windows, daher Task :?.

@balu
Danke für das klare 'NEIN' :D

@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
ClosedOffice345
Beiträge: 3
Registriert: Mi, 19.05.2021 12:56

Re: mehrere Tasks

Beitrag von ClosedOffice345 »

Stephan hat geschrieben: Do, 09.07.2015 07:40
Wie ist das bei LibreOffice? Kann ich hier auch mehrere Tasks erstellen?
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.

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
Hey,

ich sehe es genauso wie Stefan. Allerdings wäre OpenOffice eine gute Alternative zu den mehreren Tasks.
Unentwickelte Technik ist unentwickelte Phantasie.
Antworten