玄関へお回り下さい。
格子状にラインを引いて表形式で印刷する(1個)              (SNo.060)
使用コントロール Button1  PrintDocument1
その他条件 WindowsXP(Vista) Visual Basic 2005(VB2008)
 
★ 格子状にラインを引いて表形式で印刷する
 
Private Sub Button1_Click(ByVal sender As System.Object, _
                         
ByVal e As System.EventArgs) Handles Button1.Click
    ''印刷のイベントを呼び出し
  '  PrintDocument1.Print()

    PrintPreviewDialog1.Document = PrintDocument1
    PrintPreviewDialog1.ShowDialog()
End Sub

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As _
    System.Drawing.Printing.PrintPageEventArgs) 
Handles PrintDocument1.PrintPage

   
Dim g As Graphics = e.Graphics
   
Dim blackPen As New Pen(Color.Black, 0.2)   '線の太さを0.2に
   
Dim f As New Font("MS ゴシック", 12)
   
Dim br As Brush = Brushes.Black
    'ミリメートルを長さの単位に指定します。
    g.PageUnit = GraphicsUnit.Millimeter

    '横のライン
    g.DrawLine(blackPen, 10, 10, 100, 10)
    g.DrawLine(blackPen, 10, 16, 100, 16)
    g.DrawLine(blackPen, 10, 22, 100, 22)

    '縦のライン
    g.DrawLine(blackPen, 10, 10, 10, 22)
    g.DrawLine(blackPen, 40, 10, 40, 22)
    g.DrawLine(blackPen, 60, 10, 60, 22)
    g.DrawLine(blackPen, 100, 10, 100, 22)

   
Dim s As String = "PCG-FR55J"
   
Dim n As Integer = 1
   
Dim m As Integer = 168000
   
Dim sn As String
    sn = 
CStr(n) & " 台"

    g.DrawString(" 商  品  名    台 数       金     額  ", f, br, 11, 11)
    g.DrawString(s, f, br, 11, 17)
    g.DrawString(sn.PadLeft(5), f, br, 44, 17)
    g.DrawString((
String.Format("{0:#,###} 円", m)).PadLeft(16), f, br, 60, 17)

    g.Dispose()
End Sub
 
       

やり方を理解して頂くのにわかりやすく単純にしております。実際は変数等を使って For 〜 Next でラインを引いたり、関数を作って表を作成して下さい。
要領が解れば後は力仕事だけですから。
私は、ツールを使用せずこういった方法で宛名ラベル等へも印刷しております。




2004/07/15
2005/09/25


VBレスキュー(花ちゃん)
VB.NET2003  VB2005