Go
製品情報 導入事例 サポート ダウンロード 購入案内 ブラザーグループについて

ブラザーホーム >> 開発者ツール >> b-PACサポート >> 使用方法

Excel VBAでの作成例(RL-700Sをご使用の場合)

  1. ここでは、次のようなExcel2003で作成されたシートを使って説明します。 Excel画面
  2. 「表示」-「ツールバー」-「コントロール ツールボックス」で、「コマンド ボタン」を作成します(ボタンのCaptionは「ラベル印刷」、「Write」、「Read」にします)。 Excel画面
  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トップページよりダウンロード可能です)をご覧ください。
  4. 入力したらVisual Basic Editorを閉じ、「コントロール ツールボックス」の「デザイン モードの終了」ボタンをクリックしてデザイン モードを終了します。 Excel画面
  5. P-touch Editorで作成したラベルレイアウトファイルと同じフォルダにExcelファイルを保存します。
  6. 印刷したい行を選択し、「ラベル印刷」ボタンをクリックします。 Excel画面
    「ラベル印刷」ボタン P-touch Editorで作成したラベルレイアウトファイルをテンプレートにして、入力した値をラベルを印刷します。RFIDタグには「氏名」を書き込みます。
    「Write」ボタン 「氏名」でRFIDタグの内容を書き換えます。
    「Read」ボタン RFIDタグの内容を読み込みます。

戻る

このページの先頭へ

©1995 Brother Industries, Ltd. / Brother Sales, Ltd. All Rights Reserved.