Entwickler-Ecke
Sonstiges (Delphi) - OLE, OpenOffice
wolfgangschwarz1 - Fr 17.12.10 12:36
Titel: OLE, OpenOffice
Hallo!
Ich bin kein Programmierer. :(
In einer branchenspezifischen Anwendung werden Kundendaten an Word weitergegeben und durch Suchen&Ersetzen Kundendaten in Word-Dokumente eingefügt. Ich selbst kenne mich NULL aus, hätte aber jemanden, der mir das in unser (zwingend notwendiges) Branchenlösungs-Programmes einbaut - er mag sich aber nicht mit der Thematik OpenOffice beschäftigen.
Es geht nun darum, dass nicht mehr Word als Programm geöffnet wird, sondern ich hätte gerne, dass OpenOffice-Writer geöffnet wird und das Suchen&Ersetzen nicht im Word sondern im OpenOffice passiert...
Ist das sehr kompliziert???
Danke!
Wolfgang
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58:
| procedure TBefund.wordOLESteuerung;
var word ; variant; vorlage, zie1 : string; s : oleVariant; lbv : Tstrings; lbw : Tstrings; x : integer;
begin screen.cursor:=crHourglass: lbv := TStringList.Create; lbw := TStringList.Create:
try word := GetActiveOleObject('Word.Application');
except try word := CreateOleObject('word.Application'); except showMessage('Microsoft word kann nicht starten.'); screen.cursor :; crDefault; exit; end; end;
word.visible := true; vorlage := hauptprogramm.rfk.DOT_Pfad + flbVorlagen.ltems[flbVorlagen.Itemindex]: ziel := hauptprogramm.rfk.DOC_Pfad + hauptprogramm.kde.Caption+' ' + edBefundname.Text + '.doc'; copyfile(pchar(vorlage),pchar(ziel),FALSE); Word.Documents.OpenOld(ziel); for x := 0 to lbV.Count -1 do begin s := Word.Selection; s.find.text := lbv[x]; s.find.Rep1acement.Text := lbW[x]; s.find.Forward := TRUE; s.find.wrap := FALSE; s.find.Format := FALSE; s.find.Matchcase := FALSE; s.find.MatchWholeword := FALSE; s.find.MatchWîldCards := FALSE; s.find.MatchSoundslike := FALSE; s.find.MatchAl1WordForms := FALSE; s.Find.Execute(Replace:=2); end;
Word.ActiveDocument.Save; screen.cursor:=crDefault; end; |
Moderiert von Martok: Quote- durch Delphi-Tags ersetzt
Tintenblut - Fr 17.12.10 13:10
Schwer? Definiere schwer.
Ich sag mal nein ;)
Aber mal eine Gegenfrage: Du hast jemanden, der dir das Implementieren, aber sich nicht auseinandersetzen will?
Wie geht das?
wolfgangschwarz1 - Fr 17.12.10 15:23
Der Programmierer der Software, die wir einsetzen, hat kein besonderes Interesse daran, seine Applikation/Programm mit openoffice zum Laufen zu bekommen. Ich hingegen schon. Und er hat gasagt, von seinen rund 50 Kunden, die das Programm verwenden, braucht das vielleicht kein anderer. Und darum hat er weiters gesagt, er würde die Möglichkeit im Programm für mich kostenlos einbauen, hat aber kein besonderes Interesse, sich stundenlang damit auseinanderzusetzen.
Ich hingegen schon, es fehlt mir leider an der programmiertechnischen Erfahrung. Ich würde mich auch stundenlang^2 hinsetzen, aber ich hatte bisher lediglich mit BASIC vom C=64 zu tun. Und nach einem Vierteljahrhundert Pause besteht meine derzeitige 'Programmiererfahrung' daraus, EXCEL bzw. OpenOfficeCalc für alle möglichen Einsätze zweckzuentfremden.
Gruß, Wolfgang
bummi - Fr 17.12.10 19:23
Ist zwar schon etwas älter, aber wer brauchen kann..
wolfgangschwarz1 - Sa 18.12.10 22:29
Dankesehr für die Hilfestellung!
Ich werde mir das jetzt am Wochenende mal durchlesen, mal sehen, ob ich daraus schlau werden. Und ich hoffe, dann im Anschluss funktioniert das auch mit Libreoffice, da es openoffice ja möglicherweise in der bekannten Form nicht mehr geben wird. Naja, mal sehen, ob ich das bereitgestellte Dokument verstehe.
Gruß, Wolfgang
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!