Excel® VBAでの作成例

RL-700S以外のプリンターをご使用の場合

  1. 1. ここでは、次のようなExcel® 2003で作成された固定資産管理リストを使って説明します。
Excel® 画面
  1. 2. 「表示」-「ツールバー」-「コントロール ツールボックス」で、「コマンド ボタン」を作成します(ボタンのCaptionは「ラベル印刷」にします)。
Excel® 画面
  1. 3. 「ラベル印刷」をダブルクリックするとVisual Basic® Editorが起動しますので、次のコードを入力します。
Private Sub CommandButton1_Click()

        'b-PACオブジェクトを生成

        Dim ObjDoc As bpac.Document

        Set ObjDoc = CreateObject("bpac.Document")

        'P-touch Editorで作成したテンプレートファイルをオープン

        '(本Excelファイルとテンプレートファイルは同じフォルダーに置く)

        ObjDoc.Open (ActiveWorkbook.Path & "¥固定資産名.lbx")



        Dim str As String

        '範囲指定行分について繰り返す

        For r = 1 To Selection.Areas(1).Rows.Count



            '行番号を計算

            Dim i As Integer

            i = Selection.Areas(1).Cells(r, 1).Row



            '「固定資産名」のテキストオブジェクトに

            '「固定資産名」のセルの内容を設定

            ObjDoc.GetObject("Name").Text = Cells(i, 3).Text



            '「管理部門」のテキストオブジェクトに

            '「管理部門」のセルの内容を設定

            ObjDoc.GetObject("Section").Text = Cells(i, 4).Text



            '「管理No」のテキストオブジェクトに

            '「管理No」のセルの内容を設定

            ObjDoc.GetObject("Number").Text = Cells(i, 5).Text



            'バーコードオブジェクトに

            '「管理No」のセルの内容を設定

            ObjDoc.GetObject("QRコード1").Text = Cells(i, 5).Text



            '印刷を実行

            ObjDoc.StartPrint "DocumentName", bpoAutoCut

            ObjDoc.PrintOut 1, bpoAutoCut

            ObjDoc.EndPrint

        Next



        'b-PACオブジェクトを解放

        ObjDoc.Close

        Set ObjDoc = Nothing

End Sub

補足

  • 他にイメージオブジェクトを入れ替えたり、フォント情報を設定することも可能です。
  • b-PACで使用できるメソッドは、b-PAC SDK Ver.3.0 ドキュメント(b-PACトップページよりダウンロード可能です)をご覧ください。
  1. 4. 入力したらVisual Basic® Editorを閉じ、「コントロール ツールボックス」の「デザイン モードの終了」ボタンをクリックしてデザイン モードを終了します。
Excel® 画面
  1. 5. テンプレートファイルと同じフォルダーにExcel® ファイルを保存します。
  2. 6. 印刷したい行を範囲選択し、「ラベル印刷」ボタンをクリックします。
Excel® 画面

P-touch Editorで作成したラベルレイアウトファイルをテンプレートにして、範囲選択した行のセルの値でラベルを印刷します。

RL-700Sのプリンターをご使用の場合

  1. 1. ここでは、次のようなExcel® 2003で作成されたシートを使って説明します。
Excel® 画面
  1. 2. 「表示」-「ツールバー」-「コントロール ツールボックス」で、「コマンド ボタン」を作成します(ボタンのCaptionは「ラベル印刷」、「Write」、「Read」にします)。
Excel® 画面
  1. 3. Visual Basic® Editorを起動して、次のコードを入力します。
Const DEVICE_NAME = "Brother RL-700S"

Const ANTENNA_READER_WRITER = "Reader/Writer side"

Const ANTENNA_PRINTER = "Printer side"



'***********************************************

' RFIDタグ印刷処理

'***********************************************

Private Sub cmdPrint_Click()

    Dim objDoc As bpac.Document

    Dim objRfid As bpac.Rfid



    Set objRfid = CreateObject("bpac.Rfid")

    Set objDoc = CreateObject("bpac.Document")

    If objRfid.Open(DEVICE_NAME) = False Then

        MsgBox "デバイスオープン失敗"

        GoTo CleanUp

    End If



    If objRfid.SetActiveAntenna(ANTENNA_PRINTER) = False Then

        MsgBox "アンテナ設定失敗"

        GoTo CleanUp

    End If



    If objDoc.Open(ActiveWorkbook.Path & "¥Name_Plate.lbl") = False Then

        MsgBox "ファイルオープン失敗"

        GoTo CleanUp

    End If



    '「Company」のテキストオブジェクトにデータを設定

    objDoc.GetObject("company").Text = Cells(Selection.Row, 1).Text



    '「Name」のテキストオブジェクトにデータを設定

    objDoc.GetObject("name").Text = Cells(Selection.Row, 2).Text



    If objRfid.WriteTagData("", bmbUser, 0, Cells(Selection.Row, 2).Text) = False Then

        MsgBox "書き込み失敗"

        GoTo CleanUp

    End If



    '印刷を実行

    Dim printOption As Long

    printOption = (bpoRfid Or bpoAutoCut)

    objDoc.StartPrint "DocumentName", printOption

    objDoc.PrintOut 1, printOption

    objDoc.EndPrint

CleanUp:

    objDoc.Close

    objRfid.Close

    Set objDoc = Nothing

    Set objRfid = Nothing

End Sub

'***********************************************

' RFIDタグ書き込み処理

'***********************************************



Private Sub cmdWrite_Click()

    Dim objRfid As bpac.Rfid

    Set objRfid = CreateObject("bpac.Rfid")



    If objRfid.Open(DEVICE_NAME) = False Then

        MsgBox "デバイスオープン失敗"

        GoTo CleanUp

    End If



    If objRfid.SetActiveAntenna(ANTENNA_READER_WRITER) = False Then

        MsgBox "アンテナ設定失敗"

        GoTo CleanUp

    End If



    '選択した行の「氏名」をセット

    Dim strCell As String

    strCell = Cells(Selection.Row, 2).Text

    'UIDの読み取り

    Dim arrTagId

    arrTagId = objRfid.ReadTagId()

    If objRfid.ErrorCode = 0 Then

        'データの書き込み

        If objRfid.WriteTagData(arrTagId(0), bmbUser, 0, strCell) <> False Then

            MsgBox ("書き込み終了" & Chr(13) & strCell)

        Else

            MsgBox "書き込み失敗"

            GoTo CleanUp

        End If

    Else

        MsgBox "タグ読み取り失敗"

    End If



CleanUp:

    objRfid.Close

    Set objRfid = Nothing   'b-PACオブジェクトを解放

End Sub

'***********************************************

' RFIDタグ読み取り処理

'***********************************************

Private Sub cmdRead_Click()

    Dim objRfid As bpac.Rfid

    Set objRfid = CreateObject("bpac.Rfid")



    If objRfid.Open(DEVICE_NAME) = False Then

        MsgBox "デバイスオープン失敗"

        GoTo CleanUp

    End If



    If objRfid.SetActiveAntenna(ANTENNA_READER_WRITER) = False Then

        MsgBox "アンテナ設定失敗"

        GoTo CleanUp

    End If



    'UIDの読み取り

    Dim arrTagId

    arrTagId = objRfid.ReadTagId()

    If objRfid.ErrorCode = 0 Then

        'データの書き込み

        Dim dataSize As Integer

        dataSize = objRfid.GetBlockSize(arrTagId(0), bmbUser) * objRfid.GetNumberOfBlocks(arrTagId(0), bmbUser)

        Dim strUserdata

        strUserdata = objRfid.ReadTagData(arrTagId(0), bmbUser, 0, dataSize)

        If objRfid.ErrorCode = 0 Then

            MsgBox ("読み取り終了" & Chr(13) & strUserdata)

        Else

            MsgBox "読み取り失敗"

            GoTo CleanUp

        End If

    Else

        MsgBox "タグ読み取り失敗"

    End If



CleanUp:

    objRfid.Close

    Set objRfid = Nothing   'b-PACオブジェクトを解放

End Sub

補足

  • 使用できるメソッドは、b-PAC SDK Ver.3.0 ドキュメント(b-PACトップページよりダウンロード可能です)をご覧ください。
  1. 4. 入力したらVisual Basic® Editorを閉じ、「コントロール ツールボックス」の「デザイン モードの終了」ボタンをクリックしてデザイン モードを終了します。
Excel® 画面
  1. 5. P-touch Editorで作成したラベルレイアウトファイルと同じフォルダーにExcel® ファイルを保存します。
  2. 6. 印刷したい行を選択し、「ラベル印刷」ボタンをクリックします。
Excel® 画面
「ラベル印刷」ボタン P-touch Editorで作成したラベルレイアウトファイルをテンプレートにして、入力した値をラベルを印刷します。RFIDタグには「氏名」を書き込みます。
「Write」ボタン 「氏名」でRFIDタグの内容を書き換えます。
「Read」ボタン RFIDタグの内容を読み込みます。

ラベルプリンター 導入事例

ピンゴルフジャパン株式会社様
ピンゴルフジャパン株式会社様
  • 作業効率改善
  • 飲食・小売
  • 従業員数70名
株式会社福山臨床検査センター様
株式会社福山臨床検査センター様
  • 作業効率改善
  • 医療・福祉
  • 従業員数389名

小規模オフィス、営業所、店舗、学校、工場、ホテルなどでの導入事例をご紹介

ご購入を検討中のお客様へ

ご利用中のお客様へ(サポート)

開発をご検討中のお客様へ

スペシャルサイト

このページをシェアする