List 7-177 変更したFormSlipフォームのBTN_PRINT_Clickプロシージャ
1: Private Sub BTN_PRINT_Click()
2: ' [印刷]ボタンが押されたときの処理
3: Dim oldBookMark As Variant, bmk As Variant
4: ' プリンタがなければ,エラーメッセージを表示する
5: If Printers.Count = 0 Then
6: MsgBox "プリンタがインストールされていません", _
vbOKOnly, "印刷エラー"
7: End If
8:
9: ' 印刷方法を選択させる
10: FormPrintSelect.Show 1
11:
12: Select Case FormPrintSelect.Selected
13: Case 1
14: ' 表示されている表を印刷ならびにプレビュー
15: FormPrintPreview.SetTitle "伝票一覧", DGrid_Slip
16: FormPrintPreview.Show 1
17: Case 2
18: ' 表内のすべての項目の明細を一括印刷
19: Printer.ScaleMode = vbTwips
20: FormPrinting.bCancelFlag = False
21: FormPrinting.Show 0
22:
23: oldBookMark = g_objRec.BookMark
24: g_objRec.MoveFirst
25: Do While Not g_objRec.EOF
26: FormSlipDetail.InitData g_objRec.Fields("ID").Value
27: FormPrintPreview.SetTitle2 FormSlipDetail.FRAME_SLIP, _
FormSlipDetail.FLXGrid_SlipDetail
28: If FormPrintPreview.DrawPreview(Printer, 1, 65535) < 0 Then
29: MsgBox "印刷が中断されました", vbOKOnly, "印刷エラー"
30: Exit Do
31: End If
32: g_objRec.MoveNext
33: Loop
34: FormPrinting.Hide
35: On Error Resume Next
36: g_objRec.BookMark = oldBookMark
37: Case 3
38: ' 表内の選択されている項目の明細を一括印刷
39: Printer.ScaleMode = vbTwips
40: FormPrinting.bCancelFlag = False
41: FormPrinting.Show 0
42:
43: oldBookMark = g_objRec.BookMark
44:
45: For Each bmk In DGrid_Slip.SelBookmarks
46: g_objRec.BookMark = bmk
47:
48: FormSlipDetail.InitData g_objRec.Fields("ID").Value
49: FormPrintPreview.SetTitle2 FormSlipDetail.FRAME_SLIP, _
FormSlipDetail.FLXGrid_SlipDetail
50: If FormPrintPreview.DrawPreview(Printer, 1, 65535) < 0 Then
51: MsgBox "印刷が中断されました", vbOKOnly, "印刷エラー"
52: Exit For
53: End If
54: Next
55: FormPrinting.Hide
56: On Error Resume Next
57: g_objRec.BookMark = oldBookMark
58: End Select
59: End Sub