Forum de discussion
Forum « Programmation ASP » (archives)
Re: Word et ASP
Envoyé: 19 février 2003, 6h41 par Oznog
Tu peux toujours utiliser FSO. Ouvrir les document comme des document texte et tout manipuler menuellement. Puis sauver le document. C'est un simple fichier texte en fin de compte. Tu l'analyse pour le reproduire.
Tu peux aussi utiliser un objet CreateObject("Word.Document") mais il semble ue se soit très lent tout en demandant un max de ressources. Il est plutôt conseillé de faire un PDF.
Mais si je me souvient bien, il faut que Word soit installé sur le serveur IIS. Voilà un exemple (il y en a partout avec Google) Note qu'il y a aussi des composantes plus performante (Server.CreateObject("composante") :
Set WordApp = CreateObject("word.application")
Set WordDoc = WordApp.Documents.Add()
WordApp.Application.Visible = False
Set MyRange1 = WordDoc.Paragraphs.Add.Range
MyRange1.InsertBefore("Appraisal Form")
MyRange1.Style = "Heading 1"
Set MyRange1 = WordDoc.Paragraphs.Add.Range
MyRange1.InsertBefore("Manager: " & Manager & vbcrlf & "Appraisee: " & Appraisee)
MyRange1.Font.Bold = true
Set MyRange1 = WordDoc.Paragraphs.Add.Range
MyRange1.InsertBefore(vbcrlf & "Please fill in all the required sections and return to HR via the internal mail system.")
' Set the directory location to store the generated documents
WordDocPath = Server.MapPath("\alastair\appraisals\forms")
' Use the unique session ID as the filename.
WordDoc.SaveAs WordDocPath & "\" & session.sessionID & ".doc"
WordDoc.Close
WordApp.Quit
Set WordDoc = Nothing
Set WordApp = Nothing
' EMAIL WORD DOCUMENT
Set mailer = Server.CreateObject("ASPMAIL.ASPMailCtrl.1")
recipient = Email
sender = "vance@ukonline.co.uk"
subject = "Requested Form"
message = "Please find the requested document attached."
attach = WordDocPath & "\" & session.SessionID & ".doc"
'INSERT YOUR MAIL SERVER HERE
mailserver = "xxx.xx.xx.xx"
result = mailer.SMAttach(mailserver, recipient, sender, subject, message, attach)
If result = "" Then
' DELETE WORD DOCUMENT FROM SERVER
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFile(WordDocPath & "\" & session.SessionID & ".doc")
Response.Write "The requested form will arrive in your inbox (email) within a few minutes. Please complete and return to HR asap."
Else
Response.Write "There has been an error sending the document to you." & vbcrlf
Response.Write "Right click the following link and select ""Save Target As..."" to retrieve the word document." & vbcrlf & vbcrlf
Response.Write "<b><A href=""" & worddocpath & "\" & session.SessionID & ".doc"">Generated Document</A></b>" & vbcrlf & vbcrlf
End if
Ciao
Oznog
Réponses
|