ASP.NET & Word (Word Application) - Open Document (Documents.Open)
ASP.NET & Word (Word.Application) - Open Document (Documents.Open) ตัวอย่างนี้จะเป็นการเขียน ASP.NET กับ Word โดยทำการเปิดเอกสาร .doc หรือ .dot มาแก้ไขหรือเขียนข้อมูลลงไป
การใช้วิธีเปิด Template หรือ เอกสาร Word ที่มีอยู่ มีประโยชน์ตรงนี้ เราสามารถออกแบบตัว Template ไว้ล่วงหน้่า เช่น ตั้งค่าหน้ากระดาษให้เป็น แนวนอน (Landscape) หรือตั้งค่าหน้ากระดาษ หัวกระดาษ ท้ายกระดาษ ได้อย่างอีสระ และเมื่อมีการเปิด Template ขึ้นมาแล้วก็จะเขียนเพิ่มลงในเฉพาะตำแหน่งที่ต้องการ แล้วทำการ Save เป็นไฟล์ใหม่ ก็จะได้เอกสาร Word ในรูปแบบที่ต้องการทุกประการ
Imports Microsoft.Office.Interop.Word
Public Class AspNetWordOpenDoc
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Const wdAlignParagraphCenter = 1
Dim Wrd As New Microsoft.Office.Interop.Word.Application
Dim WrdDoc As Microsoft.Office.Interop.Word.Document
Dim MyRange1 As Microsoft.Office.Interop.Word.Range
Dim DocName As String = "MyDoc/MyWord.doc"
Wrd.Application.Visible = False
WrdDoc = Wrd.Documents.Open(Server.MapPath("thaicreate.dot"))
MyRange1 = WrdDoc.Range()
With MyRange1
.ParagraphFormat.Alignment = wdAlignParagraphCenter
.Font.Name = "Verdana"
.Font.Size = "30"
.Font.Bold = True
.InsertBefore(vbCrLf & vbCrLf & "www.ThaiCreate.Com" & vbCrLf & "Version 2009" & vbCrLf)
End With
MyRange1 = WrdDoc.Paragraphs.Add.Range
MyRange1.InlineShapes.AddPicture(Server.MapPath("thaicreate-2009.gif"))
MyRange1 = WrdDoc.Paragraphs.Add.Range
With MyRange1
.ParagraphFormat.Alignment = wdAlignParagraphCenter
.Font.Name = "Verdana"
.Font.Size = "13"
.Font.Bold = True
.InsertBefore(vbCrLf & vbCrLf & vbCrLf & vbCrLf & "All Rights Reserved.")
End With
WrdDoc.SaveAs(Server.MapPath(DocName))
Wrd.Application.Quit()
Wrd = Nothing
End Sub
End Class