![]() |
OpenOffice anbindung per Delphi [Anfänger]
Hallo,
und schon kam die nächste Aufgabe dazwischen. Wie kann ich mein Programm dazubringen, dass es OpenOffice fernsteuert? Wäre schön wenn jemand ein fertiges Script hat, da ich ein Anfänger bin und mir Sachen am besten merken kann wenn ich Sie sehe. Das Paket von Lemmy habe ich auch schon angeschaut. Verstehe aber so gut wie nichts :oops: |
AW: OpenOffice anbindung per Delphi [Anfänger]
Hi,
ein fertiges Script gibts nicht - was von den tausenden Funktionen von OO willst Du denn nutzen? EInen Serienbrief mit Writer schreiben oder in Calc Daten rüberschieben und aus denen ein Diagramm basteln? Und wie kommt es, dass ein Anfänger mit der Fernsteuerung von OpenOffice beginnt? Grüße [Edit] habe im Sourceforge eine Testanwendung für XE erstellt. SChau dir die mal an, wenn Du dann noch konkrete Fragen hast, dann her damit.... [/edit] |
AW: OpenOffice anbindung per Delphi [Anfänger]
Das Programm soll Variablen Anker setzen und diese füllen, Dokumente Speichern. Also hauptsächlich Daten in Muster eintragen.
Wie mache ich soetwas? Ersteinmal brauche ich ja die Verbindung zu OO. Ich habe schonmal mit Ole eine Verbindung zu Outlook aufgebaut. Aber das scheint ja etwas anderes zu sein. Edit: Vielen Dank für deine Mühe. |
AW: OpenOffice anbindung per Delphi [Anfänger]
@Lemmy
Wo finde ich die XE Dateien? In der zip-Dateo oo-Export? Ich soll recherchieren wie das geht und es auch Testen. |
AW: OpenOffice anbindung per Delphi [Anfänger]
vielleicht hilft Dir zum einstieg eine alte klasse von mir Bum_OO_Office, enthalten in bummisoft.de/Download/Office_OO.zip
|
AW: OpenOffice anbindung per Delphi [Anfänger]
Hi,
die aktuellen Sourcen bekommst Du per Subversion direkt von Sourceforge. Wie das geht steht ![]() |
AW: OpenOffice anbindung per Delphi [Anfänger]
@Bummi
vielen Dank für deine Dateien. Diese sind schon sehr leicht zu lesen für mich. Aber ich habe noch eine Frage. Wenn ich die Funktion Create() aus der Unit Bum_OO_MS aufrufen mag, wie muss ich diese dann in Unit2 aufrufen? Über die uses habe ich schon Bum_OO_MS hinzugefügt. <-- Hat sich soeben selbst geklärt @Lemmi Ich werde dir im Laufe des Tages eine Mail schicken und bitte dich mit die .zip-Datei zu senden. |
AW: OpenOffice anbindung per Delphi [Anfänger]
Das Create() dürfte ein Konstruktor einer Klasse sein, Du brauchst also eine Instanzvariable dieses Typs. Beispiel:
Delphi-Quellcode:
var
Dings: TDings; begin Dings := TDings.Create(<Parameter>); try Dings.MachWas(); finally Dings.Free; end; end; |
AW: OpenOffice anbindung per Delphi [Anfänger]
Ok gut, Danke.
Und wie rufe ich eine "normale" Methode auf?
Delphi-Quellcode:
Wenn ich es so machen, bekomme ich den Fehler:
26: procedure TForm2.Button1Click(Sender: TObject);
27: begin 28: TBum_OO_MS_OLE.Create(True); 29: // TBum_OO_MS_OLE.GoToStartOfDoc; 30: TBum_OO_MS_OLE.InsertText('Test 123'); 31: end; [DCC Fehler] Unit2.pas(30): E2076 Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt |
AW: OpenOffice anbindung per Delphi [Anfänger]
Du brauchst eine Instanzvariable, schau Dir mein Beispiel noch einmal genau an.
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var Bumm: TBum_OO_MS_OLE; //Variable nimmt die erzeugte Instanz auf begin Bumm := TBum_OO_MS_OLE.Create(True); //Instanz anlegen try Bumm.InsertText('Test 123'); //mit der Instanz arbeiten finally Bumm.Free; //Instanz freigeben end; end; |
AW: OpenOffice anbindung per Delphi [Anfänger]
Wie DeddyH schon gesagt hatte - Du brauchst eine Instanzvariable der Klasse:
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var BumOO: TBum_OO_MS_OLE; begin BumOO := TBum_OO_MS_OLE.Create(True); try // BumOO.GoToStartOfDoc; BumOO.InsertText('Test 123'); finally BumOO.Free; end; end; |
AW: OpenOffice anbindung per Delphi [Anfänger]
Danke für die Hilfe, es klappt jetzt alles. Jetzt heißt es probieren und ausführen.
Habe jetzt doch noch eine Frage. Wie kann ich Ankerpunkte setzen in einem Vorgefertigtem Text, sodas ich mit Variablen die Lücken füllen kann? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz