Avatar billede dargny Nybegynder
21. juni 2002 - 12:53 Der er 7 kommentarer

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.
Avatar billede medions Nybegynder
21. juni 2002 - 13:13 #1
<%@ Language=VBScript %>
Response.ContentType = \"application/vnd.ms-excel\"

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

%>

//>Rune
Avatar billede tknudsen Nybegynder
21. juni 2002 - 13:33 #2
medions >> hvordan får det-der data FRA html-siden TIL word-skabelonen ?
Avatar billede dargny Nybegynder
21. juni 2002 - 14:22 #3
jeg er ikke interesseret i at brugeren skal modtage noget dokument. Han kan få en besked om at hans oplysninger er blevet oprettet.

jeg ønsker at serveren skal rette min .dot fil til, så den er kørt sammen med de indtastede oplysninger, og bliver gemt som et word-dokument.
Avatar billede tmceu Praktikant
21. juni 2002 - 16:29 #4
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 ?
Avatar billede dargny Nybegynder
24. juni 2002 - 08:20 #5
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.
Avatar billede tmceu Praktikant
24. juni 2002 - 12:58 #6
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 :(
Avatar billede dargny Nybegynder
24. juni 2002 - 13:19 #7
'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)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester