タイトル : Re^4: VB.NETの印刷の改ページ処理 投稿日 : 2006/03/14(Tue) 17:02 投稿者 : 応用の利かないあきこ
魔界の仮面弁士様、はやくもお返事有り難うございました。 すみません。まだ解決できないのです。 私の場合(VB5.0なのですが)、まず、 Dim Yoko As Single Dim Tate As Single Dim Page As Integer Dim Data As Integer Dim Data_1 As Integer Dim Data_2 As Integer Dim Data_3 As Integer Private Sub タイトル印刷() Yoko = 40 Tate = 560 v e.Graphics.DrawImage(img, Yoko, Tate) End Sub Private Sub 明細印刷() ’実際はもっと複雑なんです Data = Data / 25 * 315 e.Graphics.DrawString(Data, New Font("HGOCR-B", 13, FontStyle.Regular), Yo ko, Tate) Tate = Tate + 2.7 End Sub Private Sub ページ印刷() Call タイトル印刷 Page = 0 Do Until Page = 100 Data = Data_1 Call 明細印刷 Data = Data_2 Call 明細印刷 Data = Data_3 Call 明細印刷 Data_1 = Data_1 + 1 Data_2 = Data_2 + 1 Data_3 = Data_3 + 1 Page = Page + 1 Loop End Sub です。 VB.NETでこれをすると Private Sub PrintDocument1_PrintPage(・・・ Yoko = 40 ’タイトル印刷です Tate = 560 e.Graphics.DrawImage(img, Yoko, Tate) Yoko = 40 ’ 以下明細印刷です Tate = 660 Data_1 = Data_1 / 25 * 315 e.Graphics.DrawString(Data, New Font("HGOCR-B", 13, FontStyle.Regular), Yo ko, Tate) Tate = Tate + 2.7 Data_2 = Data_2 / 25 * 315 e.Graphics.DrawString(Data, New Font("HGOCR-B", 13, FontStyle.Regular), Yo ko, Tate) Tate = Tate + 2.7 もし、Dataが200個有れば200カ所書くことになり、実際はもっと複雑なのですごい行数になります。 私が無い頭で考えた事は、 PrintDocumentは、いくつも貼り付ける事ができるので、タイトル印刷・明細印刷をそれぞれ PrintDocument1・PrintDocument2にして Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) PrintDocument1.Print() Page = 0 Do Until Page = 100 Data = Data_1 PrintDocument2.Print() Data = Data_2 PrintDocument2.Print() Data = Data_3 PrintDocument2.Print() Data_1 = Data_1 + 1 Data_2 = Data_2 + 1 Data_3 = Data_3 + 1 Page = Page + 1 Loop End Sub としたのですが、 PrintDocumentはすべてページ変えをしてしまったのです。 長くなって申し訳ありませんが途方に暮れている状態なのです。 よろしくお願いします。 |