Autor Beitrag
uranop
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149

Win XP, Win 7, Slackware 11, FreeBSD
D6E, php
BeitragVerfasst: Sa 19.07.08 21:33 
Soo neues thema neuer thread ...

wie in vorrangehenden thread schon beschrieben bau ich an automatisierten geraete buechern ...

ich kann nun mein xls file erstellen wie ich es brauche.

um bei uns ein geraete buch zu erstellen haben wir eine word vorlage
in diese vorlage "importieren" wir dann die daten aus den - jetzt glueckicherweise automatisch - erstellten xls files

besteht prinzipiell ne möglichkeit word und xls paralell zu öffnen
word fragen was es fuer variablen braucht, diese aus xls in word schmeissen und denn unter neuen namen abzuspeichern ?
idealerweise in einem neuen wordfile zzgl. nem generierten pdf davon ??

danke fuer anstoesse.
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 19.07.08 21:38 
die möglichkeiten bestehen.

z.b. über OLE automatisation...

wenn du aber die Word vorlage selbst ersellen kannst, würd ich dir raten dafür 'n report generator wie RAVE zu verwenden. da kannste dann einfach sagen, als RTF oder als PDF abspeichern ... und wenn du statt .RTF .DOC als extension wählst, sieht auch keiner dass das nicht wörd ist ... ;-)
uranop Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149

Win XP, Win 7, Slackware 11, FreeBSD
D6E, php
BeitragVerfasst: Sa 19.07.08 21:45 
naja ich habe da lediglich das problem das die vorlage "validiert" ist
d.h. ich MUSS das verwenden firmenvorgabe ... kann ich nix machen
lediglich wie ich die daten da rein schmeiss is jedem selber ueberlassen

ein hoch auf die pingelige FDA Xd
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 19.07.08 21:51 
dann wirst wohl über die OLE automation dürfen...


und wenn du nicht grad 'n ADDin für dein Worst hast, wird es mit dem PDF generieren schwierig ... aber wichtig ist das erst mal ausdrucksgerecht aufzubereiten ...

schau dir doch einfach mal eine der vielen OLE tutorials an Suche bei Google WORD AUTOMATION DELPHI da wirste bestimmt fündig. (z. b. das hier: www.djpate.freeserve...ord.htm#WordStarting)

<HTH> GG
uranop Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149

Win XP, Win 7, Slackware 11, FreeBSD
D6E, php
BeitragVerfasst: So 20.07.08 12:11 
mmh also es gibt einige howto's wenn man nen serienbrief in word mit nem DB file machen will ...
leider ist nichts geschrieben um werte aus einem xls zu uebernehmen.

ich wollte schon den weg gehen, das ich die felder in word direkt mit meinen ausgelesenen daten bedampfe ...

mit z.b. sowas hier
ausblenden Delphi-Quelltext
1:
2:
3:
4:
...
   Word.ActiveDocument.FormFields.Item('CO_SerialNumber').Result := edit7.text;
   Word.ActiveDocument.FormFields.Item('EM_UserID').Result :=  edit17.text;
...

funktioniert leider nicht, da formfields nicht grade merge feldern entsprechen.

ich haette evtl die möglich keit meine daten zusaetzlich noch in nen DB file zu pipen
und denn die scripte nehmen die ich so gefunden habe ...
leider sind die so gebaut, das word offen sein muss. und leider nichts im hintergrund passiert.


so langsam verzweifel ich : )

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 20.07.08 12:24 
da musst halt erst mal excel aufmachen... um daraus daten zu lesen. vielleicht hilft das www.swissdelphicente.../showcode.php?id=156 weiter.


für die zuweiesung deiner variablen in word, empfehle ich dir, die zuweisung erst mal als macro aufzuzeichnen, damit du siehst wie die jeweiligen felder angesprochen werden.

<HTH> GG

PS: ExcelApp.Cells[1, 1] entspricht einer deiner variablen, nur dass du sie mit den koordinaten und nicht mit den namen ansprichst.
uranop Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149

Win XP, Win 7, Slackware 11, FreeBSD
D6E, php
BeitragVerfasst: So 20.07.08 13:43 
nur so nebenbei
kann es sein das die OLE variants
die beispielsweise bei office 97 greifen

wie man hier sieht ---> support.microsoft.co...ticles/q229/3/10.asp

mit denen fuer office 2003 nicht kompatibel sind ?

wenn ich nämlich mit diesem beispiel rumspiele erhalte ich immer " ... " is not part od the automation object
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 20.07.08 13:49 
es kann sein, dass sich bestimmte features geändert haben. das XLApp.SaveAs(xxx) ist z.b. in EXCEL 2007 nicht mehr vorhanden. aber damit musst du leben, dass neue relases unterschiedliche features aufweisen. aber die vorgehensweise funzt, in EXCEL2000, EXCEL2003, EXCEL2007

<HTH> GG

PS: solltest du noch zwischen früher (unter server) und später bindung unterscheiden.
uranop Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149

Win XP, Win 7, Slackware 11, FreeBSD
D6E, php
BeitragVerfasst: So 20.07.08 17:25 
nun gut ich habe es hin gebracht aus ner dbf4 (dBase) file so einen serienbrief wie ich es brauche zusammen zu basteln

jetzt besteht eigentlich nur noch das problem excel zu verklicken das es sein worksheet als dbf4 file speichern soll.

so wie ich es aus vielen vb delphi und c tuts gelesen habe, muss man hergehen
und bei

Excel.ActiveWorkbook.SaveAs

erst den dateinamen angeben , bei mir waere das denn

strPfad + '.\geraetebuecher\' + Edit1.Text + '.dbf'

und hinten dran das fileformat hinhaengen. in meinem falle also

, xlDBF4

die ganze zeile sieht denn so aus

Excel.ActiveWorkbook.SaveAs(strPfad + '.\geraetebuecher\' + Edit1.Text + '.dbf', xlDBF4);


soweit sogut ... einfach das zu machen funzt nicht, da man erst noch delphi sagen muss unter vars

xlDBF4 : (OLE)Variant;


soweit zur theorie ...

der code ist ok keine fehlermeldungen beim comp.
lediglich heisst es beim speichern .... " Die SaveAs-Methode des Workbook-Objekts konnte nicht ausgeführt werden "

eehm bahnhof ... ?
Google is da mal wieder mehr als "hilfreich"
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 20.07.08 20:24 
und weshalb willste das nicht direkt (z. b. via ODBC oder ado) als dbase file speichern? geht doch viel einfacher und da haste die volle kontrolle.
uranop Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149

Win XP, Win 7, Slackware 11, FreeBSD
D6E, php
BeitragVerfasst: Mo 21.07.08 05:07 
moin,

mmh ich bin mit datenbanken nicht mehr so auf der höhe.

wenn ich mich recht erinnere ist doch odbc ne datenbank die genauso nen "server" braucht wie MySQL ?
das waere etwas doof. das tool soll ja portabel sein .. und nicht jede kiste wo man das ausführt hat netz, oder ist im
"richtigen" netz .

na mir faellt schon was ein : P

erst mal nen guten wochen start !!


Edit //
ok asche auf mein schaedl : P hat sich erledigt ... wenn odbc seit win2k standrd dabei ist passts ...
himmel ist man montag morgens doof xD

Edit2 //
Aufgabe gelöst :)
-> www.delphipraxis.net...st936601.html#936601