:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

วิธีการวาดเส้นแนวตั้ง แนวนอน และสี่เหลี่ยม

ฟอรัมถาม-ตอบเกี่ยวกับ Visual Basic
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่างเพิ่มเติม)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
H.Suraseth
Member
Member
Posts: 12
Joined: Sun Jan 05, 2014 11:37 am

วิธีการวาดเส้นแนวตั้ง แนวนอน และสี่เหลี่ยม

#1

Post by H.Suraseth »

ตอนนี้ผมต้องการ วาดตารางเพื่อให้ในการแสดงข้อมูล ให้ User ครับ
แต่ติดปัญหาในการ ใช้คำสั่งครับ


'--//การตั้งค่าการพิมพ์

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


ขอบพระคุณอย่างสูง ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: วิธีการวาดเส้นแนวตั้ง แนวนอน และสี่เหลี่ยม

#2

Post by snasui »

:D ตารางใน Excel มีอยู่แล้วไม่จำเป็นจะต้องวาดขึ้นใหม่แต่อย่างใดครับ

ดูเหมือน Code ที่เขียนไมได้ Refer ถึง Object ของ Excel ไม่ทราบว่าสิ่งทีวาดมีหน้าตาเป็นอย่างไร วาดแล้วอยู่ที่ไหน ตอนนี้ผมไม่ได้ใช้ Visual Studio ไม่สะดวกในการตอบและทดสอบ Code ของ VB ครับ
H.Suraseth
Member
Member
Posts: 12
Joined: Sun Jan 05, 2014 11:37 am

Re: วิธีการวาดเส้นแนวตั้ง แนวนอน และสี่เหลี่ยม

#3

Post by H.Suraseth »

ที่ผมทำการวสขึ้นมาใหม่ เพราะใน Application ของผม ต้องมีปุ่มในการสั่ง print เอกสาร PDF ครับท่านอาจารย์
ดังนั้นผมจึงต้องเก็บจำนวนบรรทัดข้องข้อมูล และเพิ่มด้วยจำนวนเส้นตารางครับ

เช่น
ถ้าจำนวนบรรทัดข้อมูลมีทั้งหมด 6 บรรทัด
เมื่อกดสัง่ print ก็จะไล่วนูปแสดงค่าของข้องมูลในบรทัดนั้นๆ
ตามด้วย เส้นสี่เหลี่ยม(ที่กำลังจะวาดครับ) |________|____|_______| ประมาณนี้ครับ


ขอบคุณมากครับ
H.Suraseth
Member
Member
Posts: 12
Joined: Sun Jan 05, 2014 11:37 am

Re: วิธีการวาดเส้นแนวตั้ง แนวนอน และสี่เหลี่ยม

#4

Post by H.Suraseth »

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

ขอบคุณมากครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30744
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: วิธีการวาดเส้นแนวตั้ง แนวนอน และสี่เหลี่ยม

#5

Post by snasui »

:D ตัวอย่างการกำหนด Properties ของ PrintDialog ครับ

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
H.Suraseth
Member
Member
Posts: 12
Joined: Sun Jan 05, 2014 11:37 am

Re: วิธีการวาดเส้นแนวตั้ง แนวนอน และสี่เหลี่ยม

#6

Post by H.Suraseth »

ขอบคุณมากครับ
Appilcation แรกของผม เสร็จได้ด้วยดี ต้องขอบคุณ ท่านอาจารย์มา ณ ที่นี้ด้วยครับ
Post Reply