EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่างเพิ่มเติม)Code: Select all
Private Sub PrintDocument_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument.PrintPage
Dim black As New SolidBrush(Color.Black)
Dim blue As New SolidBrush(Color.Blue)
Dim fntT As Font = New Font("CordiaUPC", 16, FontStyle.Regular)
Dim brushT As New SolidBrush(Color.Black)
Dim h As Integer = fntT.Height
Dim x, y As Integer
x = e.MarginBounds.Left
y = e.MarginBounds.Top
Dim fnt As Font = New Font("CordiaUPC", 16, FontStyle.Regular)
Dim brush As New SolidBrush(Color.Black)
Dim hight As Integer = fnt.Height
'--รูปแบบตายตัวของเอกสาร เรื่อง เศษวัสดุที่นำออกนอกพื้นที่โรงงาน
If _StrDate = _EndDate Then
e.Graphics.DrawString(lblT1.Text, fntT, black, 280, 3 * fntT.Height)
y += h
e.Graphics.DrawString(lblT2.Text, fntT, black, 295, 4 * fntT.Height)
y += h
e.Graphics.DrawString(lblStrD.Text, fntT, black, 330, 4 * fntT.Height)
y += h
e.Graphics.DrawString(cbProduct.Text, fntT, black, 450, 4 * fntT.Height)
y += h
y += h
y += h
Else
e.Graphics.DrawString(lblT1.Text, fntT, black, 280, 3 * fntT.Height)
y += h
e.Graphics.DrawString(lblT2.Text, fntT, black, 220, 4 * fntT.Height)
y += h
e.Graphics.DrawString(lblStrD.Text, fntT, black, 255, 4 * fntT.Height)
y += h
e.Graphics.DrawString(lblT3.Text, fntT, black, 380, 4 * fntT.Height)
y += h
e.Graphics.DrawString(lblEndD.Text, fntT, black, 405, 4 * fntT.Height)
y += h
e.Graphics.DrawString(cbProduct.Text, fntT, black, 535, 4 * fntT.Height)
y += h
'-----------------------------------------------------------
'e.Graphics.DrawLines(????) '-- ต้องการวาดสี่เหลี่ยม เพื่อนเป็บแบบฟอร์มเบื้องต้น ครับ
'y += h
'-----------------------------------------------------------
End If
For i = lineNo To lines1.Length - 1
e.Graphics.DrawString(lines1(i), fnt, brush, x, y)
e.Graphics.DrawString(linesA(i), fnt, brush, 350, y)
y += hight
If (y >= e.MarginBounds.Bottom + 50) Then
e.HasMorePages = True
lineNo = i + 1
Exit Sub
Else
e.HasMorePages = False
End If
Next
End Sub
H.Suraseth wrote:ที่ผมทำการวาดขึ้นมาใหม่ เพราะใน Application ของผม ต้องมีปุ่มในการสั่ง print เอกสาร PDF ครับท่านอาจารย์
ดังนั้นผมจึงต้องเก็บจำนวนบรรทัดของข้อมูล และเพิ่มด้วยจำนวนเส้นตารางครับ
เช่น
ถ้าจำนวนบรรทัดข้อมูลมีทั้งหมด 6 บรรทัด
เมื่อกดสั่ง print ก็จะไล่วนูปแสดงค่าของข้องมูลในบรทัดนั้นๆ
ตามด้วย เส้นสี่เหลี่ยม(ที่กำลังจะวาดครับ) |________|____|_______| ประมาณนี้ครับ
ตอนนี้ได้แล้วครับท่านอาจารย์
แต่ตอนนี้ติดปัญหาตรงที่จะใช้คำสั่งควบคุมหน้ากระดาษ ให้เป็นแนวนอนครับ
Code: Select all
Private Sub btnPrintS2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrintS2.Click PrintDocument1.Print() '------------------------------------ 'PageSetupDialog.AllowMargins = ???? '--ต้องตั้งค่าตรงส่วนนี้ ใช่ไหมครับ การกำหนดหน้ากระดาษเป็นแนวนอน 'PrintDocument1.DefaultPageSettings = ???? '------------------------------------ End Sub
ขอบคุณมากครับ
Code: Select all
'Dialog properties example
With PrintDialog
.AllowCurrentPage = False
.AllowPrintToFile = False
.AllowSelection = False
.AllowSomePages = False
.Document = DialogsPrintDocument
.PrinterSettings.DefaultPageSettings.Margins.Top = 25
.PrinterSettings.DefaultPageSettings.Margins.Bottom = 25
.PrinterSettings.DefaultPageSettings.Margins.Left = 25
.PrinterSettings.DefaultPageSettings.Margins.Right = 25
End With