Frage stellen
0

Wie kann ich LibreOffice Calc in Delphi XE aufrufen

gefragt 2015-10-06 14:52:07 +0200

delphi Gravatar-Bild

Zur Zeit von OpenOffice habe ich eine Excel-Datei bei fehlendem EXCEL über ein vorhaneden OpenOffice aufrufen können. Siehe nachfolgender Link, der jedoch nicht mehr existiert! //siehe http://de.openoffice.org/servlets/Rea...

Danke!

Bearbeiten Tags ändern Melden schließen vereinen löschen

3 Antworten

0

geantwortet 2015-10-06 20:31:14 +0200

Regina Gravatar-Bild

updated 2015-10-06 20:36:35 +0200

Ich habe soetwas noch nicht gemacht, aber vielleicht findest du in http://www.freepascal.org/~michael/ar... die nötigen Informationen. Der Titel "Opening OpenOffice in Delphi" lautet vielversprechend. Oder dieses Dokument http://www.softwareschule.ch/download... und die dort aufgeführten Links?

Bearbeiten Melden löschen Link mehr
0

geantwortet 2015-10-06 18:51:53 +0200

Lupp Gravatar-Bild

updated 2015-10-06 21:48:09 +0200

(Ich habe leider derzeit kein Delphi.) Wenn man mit Delphi arbeitet wird man auf Win sein. Da sollte es drei Proceduren geben, die das können (zuehmende Vielseitigkeit):

WinExec (nicht mehr empfohlen)

ShellExecute

CreateProcess

So kann man dann LibreOffice oder OpenOffice mit den nötigen Prarametern, darunter dem absuluten Pfadnamen der zu öffnenden Date, anlassen. Die Delphi Hilfe wird dazu auch etwas wissen.

Nachtrag1: Ich habe das auch selbst gemacht, allerdings nicht mit Delphi, sondern mit Lazarus. Das ist aber insoweit voll kompatibel. Es genügt übrigens, den Dateinamen anstatt der Anwendung anzugeben (und dann einen leeren Parameterstring), wenn auf dem System die betreffende Dateiendung zur Ausführing LibreOffice zugeordnet ist.

Nachtrag2: Ich vermute, die Ziele sind bescheidener, als Regina unterstellt. Ich gebe deshalb den code einer Ereignisbehandlungsroutine an, die mit OnClick für einen Button verbunden ist:

procedure TForm1.Button1Click(Sender: TObject);
var  OpenWith, TheFile, Returned: String; i: LongInt;
begin
  OpenWith := 'C:\Program Files\LibreOffice 5\program\soffice.exe';
  {Default location of LibO5-64 on a recent Win}
  TheFile  := Edit1.Text;
  i := ShellExecute(Form1.Handle,PChar('open'),PChar(OpenWith),PChar(TheFile),PChar(''),1);
  Str(i, Returned);
  Edit1.Text:= Edit1.Text + ' got number '+ Returned;
end;

Natürlich muss Edit1 in Form1 existieren und passend befüllt sein. Außerdim ist die Unit ShellAPI einzubinden. Dann arbeitet das in Lazarus wirklich. Soll ich "die .exe" zur Demo zur Verfügung stellen?

Bearbeiten Melden löschen Link mehr
0

geantwortet 2015-10-07 09:56:56 +0200

delphi Gravatar-Bild

updated 2015-10-14 15:10:17 +0200

Danke Regina , danke Lupp für Eure Bemühungen. Ich werde die HInweise zunächst analysieren und ausprobieren. Über das Ergebnis informiere ich , wenn ich Erfolg hatte. Delphi

Habe unter dem Link // http://forum.openoffice.org/en/forum/... zwar eine Lösung gefunden, die auch meinem bisherigen Ansatz entspricht, aber noch nicht funktioniert. LibreOffice kann demnach wie OpenOffice behandelt werden!

Bearbeiten Melden löschen Link mehr
Registrieren oder einloggen, um zu antworten

Antwortwerkzeuge

1 Beobachter

Statistik

Gefragt: 2015-10-06 14:52:07 +0200

Angesehen: 599 Mal

Aktualisiert: Oct 14 '15