Enkelt svar.
De har inte Word installerat på webbservern.
....och de ska man var glad för, eftersom det inte lämpar sig i större webbhotellsammanhang.
5 svar · 191 visningar · startad av anhel96
Har en sida som skapar ett Word-dokument enligt koden nedan. Det funkar lokalt hemma, men när jag tankat upp det på web-hotellet så fungerar det inte alls. Får bara upp "Sidan kan inte visas". Hemma så skapas ett Word-dokument och sidan skickar tillbaka användaren till ursprungssidan.
<%
Set Connection = Server.CreateObject("ADODB.Connection")
dbFilePath = Server.MapPath("db\db.mdb")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & dbFilePath & ";"
SQLStmt = "SELECT * FROM Login ORDER BY EfterNamn, ForNamn"
Set RS = Connection.Execute(SQLStmt)
%>
<%
Dim MyDoc
Set MyDoc = CreateObject("Word.Document")
MyDoc.Application.Visible = True
MyDoc.content.Font.Name = "Times New Roman"
MyDoc.content.Font.Size = 12
MyDoc.content.insertAfter "Adressregister"
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "___________________________________________________________________"
MyDoc.content.InsertParagraphAfter
MyDoc.content.InsertParagraphAfter
%>
<%
Set RS = Connection.Execute(SQLStmt)
Do Until RS.EOF
%>
<%
MyDoc.content.insertAfter "Namn: " & (RS("ForNamn")) & " " & (RS("EfterNamn"))
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "Adress: " & (RS("Adress"))
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "Postadress: " & (RS("PostNummer")) & " " & (RS("Ort"))
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "Telefon hem: " & (RS("TelBostad"))
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "Telefon arb: " & (RS("TelArbete"))
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "Mobil: " & (RS("TelMobil"))
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "E-post: " & (RS("E-Postadress"))
MyDoc.content.InsertParagraphAfter
MyDoc.content.insertAfter "________________________________________"
MyDoc.content.InsertParagraphAfter
MyDoc.content.InsertParagraphAfter
%>
<%
RS.MoveNext
Loop
RS.Close
Connection.Close
Set MyDoc = Nothing
Response.Redirect("member.asp")
%>
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
Enkelt svar.
De har inte Word installerat på webbservern.
....och de ska man var glad för, eftersom det inte lämpar sig i större webbhotellsammanhang.
Hur gör jag då?
Jag vill ju egentligen inte att Word ska köras PÅ servern utan hos användaren lokalt.
Då får du köra med klientbaserat VBScript, men då tappar du kontakten med databasen. Det går att lösa, men det är avancerat. Kolla upp Remote Scripting på http://msdn.microsoft.com/scripting
...såvida du inte kan acceptera Excel i stället....
Hur skulle jag kunna lösa det med Excel i så fall?
Egentligen bör det funka med Word också, men jag har inte provat ordentligt.
Prova följande skript, så kan du säkert räkna ut resten.
<%
response.ContentType = "application/vnd.ms-excel"
response.AddHeader "content-disposition", "attachment; filename=test.xls"
%>
<HTML>
<TABLE>
<TR>
<TD>
<B>Rubrik 1</B>
</TD>
<TD>
<B>Rubrik 2</B>
</TD>
</TR>
<TR>
<TD>
Värde 1:1
</TD>
<TD>
Värde 2:1
</TD>
</TR>
<TR>
<TD>
Värde 1:2
</TD>
<TD>
Värde 2:2
</TD>
</TR>
</TABLE>
</HTML>