memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

簡易的に(1次元)バーコードリーダーで提出物を管理するシステム

経緯は省きますが、学生さんからの提出物(例えばノートです)を手動で管理していたのですが、Excelなどに手入力すると記入間違いや記入漏れなどのミスがありました。

何より70人くらいの資料をチェックして評価を記録していくので大変。それを何とかしたいということで思いつきで、ラベル作成や印刷の試行錯誤やソフト作成に2、3日(←もちろん夜だけです)かけて作ってみたシステム?の紹介です。

f:id:ke_takahashi:20140430180020j:plain

■用意するもの

バーコードリーダ
・ラベルシール
・バーコードフォント
MS-Word/MS-Excel

バーコードリーダーは何でもいいのですが、僕はMacなのでMac対応と書かれたもので、かつ、接続設定が簡単かつ通信プログラムを組む必要がないUSB接続型のものを選択しました。ちなみに購入したのはこちらです。スマホの利用も検討しProcessingでプログラムも書いてみましたが、動作が遅いのとラベルを読み込むときに位置合わせが難しいので専用機にしました。安いですしね。。。Amazonで3000円くらいでした。

ラベルシールはAmazonのオススメをそのまま購入しました。ちなみにこちらです。

■ステップ1:バーコードフォントをインストール

http://www.technical.jp/barcode/font/ よりCODE39のバーコードフォントをダウンロードして、Macのフォントブックを起動してフォントを追加します。詳細の手順は省略します。

■ステップ2:ラベル印刷

パソコンにフォントをインストールできたら、次はバーコードラベルを印刷する必要があります。業務用なら耐久性のあるラベルシールや専用プリンタを使うところですが、とりあえずの用途ですので簡単に作れるものを利用しました。ちなみに、ラベルシール会社が提供する専用ソフトをDLしようとしたのですが、なぜかリンク切れであきらめてMS-Word差し込み印刷を使うこととしました。ちなみにラベルを自作できる方はご自分でどうぞ。もしそうでない人は以下から2つのファイルをダウンロードしてください。これを参考にご自分で修正されてもいいと思います。

バーコードラベル(docx)
ラベルデータ(xlsx)

まず、BCR_list.xlsxを開いて、ラベルに印刷する学籍番号と氏名を入力してください。バーコードは学籍番号のセルを参照しているため、セルを下方向にコピーするだけでいいです。細かいですが、注意が必要なのはバーコードの開始と終了を認識するために「*」を入れなければなりません。BCR_list.xlsxではCONTATENATE関数を使って自動で付与するようにしています。細かいですね。。。図であらわすと以下のような感じです。①と②は空行を空けずに連続して手入力してください。③はC2のセルをコピーしてください。

f:id:ke_takahashi:20140430174107p:plain

ラベルができたら印刷しましょう。ちなみにBCR_label.docxはこちらのラベルシールを利用することを前提とした余白やサイズ設定になっています。異なるラベルを利用する場合はMS-Wordの余白設定などを調整して試行錯誤するか、専用ソフトを利用するなりしてください。

■ステップ3:バーコード読み取り

バーコードリーダーはキーボードから入力するのと同等の動作をします。キーボードから番号を入力するのと同様に、バーコードを読み込むと選択している位置に番号列が入力されます、という意味です。自分用に読み込みソフトをHTML+JSで作成しました。こちらです。Safariで動作確認していますが、恐らく、ChromeFirefoxなどでも動作すると思います。grading.htmlをダウンロードしてローカルで動作することも可能です。使い方は以下の通りです。

f:id:ke_takahashi:20140430174748p:plain

まず①にこれから入力したい(管理したい)学籍番号を入力します。入力が終わったら「確定」ボタンを押してください。

次に、②に点数を入力します。数字でも文字でも構いません。

最後に、③にカーソルを移動した状態でバーコードを読み込んでください。①の学籍番号の桁数まで読み込むと自動的に③がクリアされて読み込み完了となります。もちろん、バーコードでなくても手入力することも可能です。

読み込みが完了すると(①の学籍番号の桁数分の数値が読み込み終わると)、④に学籍番号リストとあわせて点数がCSV形式で表示されます。これを必要回数分繰り返します。

最後に、④のテキストをマウスで選択してメモ帳などに貼付けてCSVファイルなどを作成してください。Excelなどに読み込んで成績管理のExcelファイルにコピペすると完了となります。


■最後に

このシステムはあくまで個人が個人作業を効率化するために作成したものです。そのため、上記には明記しなかった前提条件があるように思います。例えば、学籍番号は固定長であること。恐らく、多くの学校ではそうだと思うのですが。。。そして、Excelで学生さんの出席や評価を管理していること、です。バーコードで読み取った点数をExcelで管理している順番に入力したいという要求から作り始めました。点数を読み上げるて音声認識で入力することも考えましたが、今後、作ってみたいとは思っています。また、HTMLやJSを使わずにExcelマクロで作った方がまとまりがいいし楽だと思いますが、とりあえずこのような形態にしました。本ページで紹介しましたファイル群はご自由に利用してください。もちろん改変も自由です。