Serverside udfyldning af felter i en word-skabelon
Jeg har en skabelon.dot fil(word-format), som jeg ønsker at udfylde med input fra en HTML-side.
jeg har prøvet med at bare skrive <felt> og så lave en replace på det, men det sletter de forskellige opsætninger og tekst formateringer, så er der nogle der kan fortælle mig hvordan jeg udfylder min skabelon via ASP.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Set Conn = Server.CreateObject(\"ADODB.Connection\") Set rs = Server.CreateObject(\"ADODB.RecordSet\")
Conn.Open \"MyConnectionString\"
sql = \"SELECT * FROM Table\"
RS.Open sql, Conn
if not RS.EOF then Response.Write(\"<TABLE>\") Response.Write(\"<TR>\") for each item in RS.Fields Response.Write(\"<TH align=left bgcolor=gray>\" & item.name & \"</TH>\" & vbcrlf) next Response.Write(\"</TR>\") end if
Do While Not RS.EOF Response.Write(\"<TR>\" & vbcrlf)
for each item in RS.Fields if item.type = 200 then Response.Write(\"<TD nowrap align=left>=T(\"\"\" & item.value & \"\"\")</TD>\" & vbcrlf) else Response.Write(\"<TD nowrap align=left>\" & item.value & \"</TD>\" & vbcrlf) end if next RS.MoveNext Response.Write(\"</TR>\" & vbcrlf) Loop
Response.Write(\"</TABLE>\" & vbcrlf)
if rs.State <> 0 then rs.Close if Conn.state <> 0 then Conn.Close
Man kan godt lave noget server-side Office automation, men det er ikke specielt kønt og derudover skal jeg lige vide hvilken løsning du skal bruge det til; intranet el. Internet ?
Man kan sagtens lave det pænt, for der ser pænt ud når jeg laver det. Det eneste som er mit problem er at al formateringen i .dot filen, såsom understregninger, centreringer og ligende bliver slettet når jeg gør det, men eller ser det pænt ud.
Word er et object, men jeg har ikke lige fundet nøglen til indtastningesfelter. Da det er OLE, så skal det være muligt at rette en værdi.
og det er den kode jeg er ude efter.
Denne sag er til Intranet, men den kunne som sådan også blive brugt til Internet.
Jeg mente nu ikke kønt ifm. formatteringen af Word dokumentet, men rent kode- og performance mæssigt :-)
Grunden til at jeg spørger om anvendelsen er, at Microsoft Office ikke er licenseret til at blive brugt på nettet. Det betyder at du skal kunne garantere at alle klienter har deres egen licens. Jeg er ikke interesseret i at hjælpe med noget, der kunne bryde Microsofts rettigheder :(
'starter word objectet Set objWord = CreateObject("Word.Application") Set objDoc = ObjWord.Documents.Open(server.MapPath("modeller\model1.dot"))
str = objDoc.range objDoc.Close false set objDoc = nothing objWord.quit false set objWord = nothing 'Replacer nogle felter i documentet str=replace(str,"<Firmanavn>",firmanavn) str=replace(str,"<kontonr>",Request.Form("kontonr")) str=replace(str,"<medarbejder>","<font size=2 color=red>Medarbejder <b></b></font>" & dropdownMedarbejder()& "")
Dette er koden til at læse word dokumentet ind i en STR. derefter replacer jeg alle de linier hvor jeg har <kundenr>. Det er ikke da ikke slemt kodemæssigt.
Alle vores klienter har word licenteret og da der kører rent intranet, så har ingen andre afgang til det. håber det hjælper TMCEU. :O)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.