Private Sub report()
Dim i As Integer = 0
Dim j As Integer = 7
Dim ExcelApp As Excel.Application
Dim ExcelBooks As Excel.Workbook
Dim ExcelSheets As Excel.Worksheet
ExcelApp = New Excel.Application
Dim chartRange As Excel.Range
ExcelApp.Visible = True
ExcelBooks = ExcelApp.Workbooks.Add()
ExcelSheets = DirectCast(ExcelBooks.Worksheets(1), Excel.Worksheet)
Dim dsChk As New DataSet
Dim sqlselect As String = ""
Dim title As String = ""
Dim addmem As String = ""
Dim telmem As String = ""
chartRange = ExcelSheets.Range("A3", "H3")
chartRange.Merge()
chartRange.FormulaR1C1 = "รายงานผลประจำวัน"
chartRange.Font.Size = 28
chartRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter
chartRange = CType(ExcelSheets.Range("A4", "H4"), Excel.Range)
chartRange.Merge()
chartRange.FormulaR1C1 = "รายงานสรุปการสั่งซื้อวัสดุสำหรับการฝึกซ้อมประจำ"
chartRange.Font.Size = 28
chartRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter
With ExcelSheets.PageSetup ''ออกรายงานแนวนอน
'.PrintArea = Range("landscape").Address
.Orientation = Excel.XlPageOrientation.xlLandscape
End With
With ExcelSheets
.Columns.Font.Name = "Angsana New"
.Columns.Font.Size = 16
.Columns().ColumnWidth = 12
.Range("F1").Value = "วันที่ออกรายงาน"
End With
ExcelSheets = Nothing
ExcelBooks = Nothing
ExcelApp = Nothing
End Sub
ติด Access is denied ไม่มีสิทธิ์เข้าถึงตัว Component นะครับ
เป็นปัญหาที่โปรแกรมเมอร์ส่วนใหญ่ไม่ค่อยใช้งาน ซึ่งสิทธ์การเข้าถึง component บน Server มีความจำเป็นนะครับที่ต้องใช้ User เฉพาะ กล่าวคือ asp.net ไม่ใช่ User ที่อยู่ในกลุ่ม Administrator หรือ System
สิ่งสำคัญเลยนะครับ การที่จะต้องการเข้าถึง Component บนเครื่อง Server ไม่ว่าจะเป็น Microsoft Office หรือโปรแกรมต่างๆ ผู้ใช้งานต้องเพิ่มกลุ่ม User ลงไปที่เครื่อง Server ให้มีสิทธิ์ในการ Access Read/Write ตัวโปรแกรมเหล่านั้นหรือ Component เหล่านั้น
สรุปก่อนนะครับ
1. ติดต่อไปยัง Admin ที่คุมเครื่อง Server บอกให้เพิ่ม User ขึ้นมาเกี่ยวกับเรื่องการใช้งาน Microsoft Office
2. ที่โปรแกรม asp.net เพิ่ม web.config ลงไปดังนี้
Folder ที่อยู่ภายใต้ IIS Service WWWroot เป็น User ที่ถูกกระทำโดย asp.net ไม่ใช่ Administrator นะครับ User กลุ่มนี้คุณต้องจัดการบริหารเอง อย่าเอามาปะปนกัน อย่าเอา User คนเดียวกันมาทำงาน หรืออย่าใช้ Administrator ในการเข้าถึง เพราะมันจะโดน Hack ได้อย่างง่ายดาย