| Autor |
Beitrag |
uranop
      
Beiträge: 149
Win XP, Win 7, Slackware 11, FreeBSD
D6E, php
|
Verfasst: 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
|
Verfasst: 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 
      
Beiträge: 149
Win XP, Win 7, Slackware 11, FreeBSD
D6E, php
|
Verfasst: 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
|
Verfasst: 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 WORD AUTOMATION DELPHI da wirste bestimmt fündig. (z. b. das hier: www.djpate.freeserve...ord.htm#WordStarting)
<HTH> GG
|
|
uranop 
      
Beiträge: 149
Win XP, Win 7, Slackware 11, FreeBSD
D6E, php
|
Verfasst: 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
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 Narses: Delphi-Tags hinzugefügt
|
|
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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 
      
Beiträge: 149
Win XP, Win 7, Slackware 11, FreeBSD
D6E, php
|
Verfasst: 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
|
Verfasst: 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 
      
Beiträge: 149
Win XP, Win 7, Slackware 11, FreeBSD
D6E, php
|
Verfasst: 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
|
Verfasst: 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 
      
Beiträge: 149
Win XP, Win 7, Slackware 11, FreeBSD
D6E, php
|
Verfasst: 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
|
|