Excelで表を使った顧客管理ソフトを作ってみよう
Step 16 シール印刷の実行
実際にシール印刷を実行します。
シール印刷開始位置が指定できるよう、コンボボックスを追加し選択できるようにしました。
「シール印刷」列にマークし、「シール印刷」ボタンをクリックすると印刷を開始します。
1)シェイプの枠線を消します。
2)印刷マークが入力されているかチェックします。
3)コンボボックスの値を印刷開始位置にします。
4)印刷マークがある顧客の、郵便番号・住所・名前をシェイプに代入します。
5)次の印刷マークの顧客へ移動します。
6)これを10枚まで繰り返します。
Homeへ >
Excelでアプリケーションソフト2 >
顧客管理ソフトを作ってみよう
ブックコード
下記のVBAコードを追加してください。
シール枚数を1~10にしています。
Private Sub Workbook_Open()
'リストをクリア
Sheets("顧客一覧").ComboBox1.Clear
Sheets("顧客一覧").ComboBox1.AddItem "1"
Sheets("顧客一覧").ComboBox1.AddItem "2"
Sheets("顧客一覧").ComboBox1.AddItem "3"
Sheets("顧客一覧").ComboBox1.AddItem "4"
Sheets("顧客一覧").ComboBox1.AddItem "5"
Sheets("顧客一覧").ComboBox1.AddItem "6"
Sheets("顧客一覧").ComboBox1.AddItem "7"
Sheets("顧客一覧").ComboBox1.AddItem "8"
Sheets("顧客一覧").ComboBox1.AddItem "9"
Sheets("顧客一覧").ComboBox1.AddItem "10"
Sheets("顧客一覧").ComboBox1 = "1"
End Sub
シートのVBAコード
下記のVBAコードを追加してください。
'シール印刷
Private Sub CommandButton6_Click()
Dim llast As Long
llast = Sheets("顧客一覧").Range("N4").End(xlDown).Row
If llast >= 65536 Then
MsgBox "印刷したい顧客の「シール印刷」列に何かマークを入力してください。"
Exit Sub
End If
'印刷の開始処理
ExSealPrintStart True
End Sub
'印刷の開始処理と終了処理
Private Sub ExSealPrintStart(sw As Boolean)
Dim s1 As String
Dim i As Integer
Dim lrow As Long
Dim lmaxrow As Long
For i = 1 To 10
Sheets("シール印刷").Shapes("シール" & i).Line.Visible = False
Sheets("シール印刷").Shapes("シール" & i).TextFrame.Characters.Text = ""
Next
If Sheets("顧客一覧").ComboBox1 < 1 Or Sheets("顧客一覧").ComboBox1 > 10 Then
Sheets("顧客一覧").ComboBox1 = 1
End If
i = Sheets("顧客一覧").ComboBox1
lrow = 5
lmaxrow = Sheets("顧客一覧").Range("N4").End(xlDown).Row
Do
If Sheets("顧客一覧").Range("N" & lrow) <> "" Then
s1 = "〒" & Sheets("顧客一覧").Cells(lrow, 6) & vbCrLf
s1 = s1 & Sheets("顧客一覧").Cells(lrow, 7) & vbCrLf
s1 = s1 & Sheets("顧客一覧").Cells(lrow, 8) & vbCrLf & vbCrLf
s1 = s1 & Sheets("顧客一覧").Cells(lrow, 4) & " 様"
Sheets("シール印刷").Shapes("シール" & i).TextFrame.Characters.Text = s1
i = i + 1
If i >= 11 Then
Exit Do
End If
End If
lrow = lrow + 1
If lrow > lmaxrow Then
Exit Do
End If
Loop
CommandButton1.Enabled = False
CommandButton2.Enabled = False
CommandButton3.Enabled = False
CommandButton4.Enabled = False
Sheets("シール印刷").PrintPreview
CommandButton1.Enabled = True
CommandButton2.Enabled = True
CommandButton3.Enabled = True
CommandButton4.Enabled = True
For i = 1 To 10
Sheets("シール印刷").Shapes("シール" & i).Line.Visible = True
Next
End Sub
顧客一覧画面
開始位置選択用のコンボボックスを追加しています。
印刷結果
1番目のシールから印刷した結果です。
印刷位置等が分かるようにシール枠を消していません。
3番目のシールから印刷した結果です。
これは正規にシール枠を消しています。
Homeへ >
Excelでアプリケーションソフト2 >
顧客管理ソフトを作ってみよう
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved