こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

フリーソフトのQRコードリーダー→EXCELセルへ

QRコードリーダーの読み取り値をダイレクトにEXCELのセルへ転記したい。フリーソフトはQRコードリーダーProです。簡易的にEXCEL VBAのsendkeysによりQRコードリーダーのクリップボードデータをEXCELセルへ書き出すプログラムは成功しましたが、QRコードを読みだした後にEXCEL側のコマンドボタンによりデータを拾い出す形です。あくまで、QRコードリーダーが読みとった瞬間にEXCELのセルへデータ転記させたいのですが、何とかお考え戴けないでしょうか?

投稿日時 - 2018-07-16 14:08:11

QNo.9518775

困ってます

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

私は、
>QRコードリーダーのクリップボード
の記述を誤解し、
WindowsOS上のクリップボードに格納するところまで
できていると思っていました。

期待のことを実現するには、
エクセルVBAが
>QRコードリーダーのクリップボード
ここにデータが格納されたというイベントを
拾う必要がありましょう。

例えば、
WindowsOS上から見える特定のフォルダーに
ファイルが書き込まれる(あるいは書き換わる)のであれば、
そのフォルダー(やファイルのタイムスタンプ)を
VBAが常時監視するという対応が考えらそうですが、
>QRコードリーダーのクリップボード
を知らないので、これ以上の深追いができません。

少なくとも私には手に負えません。失礼しました。

投稿日時 - 2018-07-21 09:22:12

ANo.2

下記は、質問者の聞いている方向と違うのは認識しています。
しかし、Office重視なら
https://hamachan.info/win10/access/barcode.html
のような、ACCESSを購入して、使うのが普通のやり方のようです。
ACCESSの購入に1万数千円必要ですが。ACCESSは、他の使い道で、ビジネスには必須のソフトとして使えて便利(必須?)ます。
データベースをEXCELLに移すのは一発です。
ーー
またACCESSを入れると、エクセルでもバーコード・コントロールが増えて、使えるようになるようです。
http://pineplanter.moo.jp/non-it-salaryman/2017/09/26/excel2016-qrcode/
ーー
バーコード読み取り装置が、多分数千円なのに、アクセスは1万数千円するしね。
アクセス購入出費と手間で、質問者は、こちらを採用しようとおもわないかもしれないが、参考までに上げて見ます。

投稿日時 - 2018-07-19 11:04:23

補足

全く同じことは2ヶ月ほど前に考えましたが、QRコード読取後の処理についてはほぼプログラムは完成しています。フリーソフトQRコードリーダーのプログラムを解析してその読み取りデータをダイレクトにEXCELへ転記することを目的としています。ACCESSはMicrosoft BarCode Controlがあることが理由かと思いますが、現時点でMicrosoft BarCode Control 15.0は無償配布されているので、既にEXCELへ取り込んで使用してみました。しかし、これはQRコードを作成するものですので目的とは外れます。

投稿日時 - 2018-07-19 12:09:15

お礼

ご丁寧にありがとうございました。大いに参考になりました。数万円のQRコードリーダーを購入すれば問題は回避できることは理解しています。出口部分はプログラム出来ているので何とかQRコード読取部の入口を何とかしたいと考えております。

投稿日時 - 2018-07-19 12:09:24

ANo.1

QRコードリーダーProを使うことで、
必要なデータ(リーダーが読み取ったデータ)を
WindowsOS上のクリップボードに格納するところまではできている。
ここまではいいですね?

ならば、次のようなコードで
・クリップボードを常時監視し、
・クリップボードにテキストが格納されたら
・取り出して、A2セルに書き込み、
・クリップボードの中身を空にする。
というマクロを常駐させることで
期待のことができるだろうと思います。

なお、予め
Microsoft Forms 2.0 Object Library
を参照設定する必要があります。
よくわからない場合は、
https://www.relief.jp/docs/017881.html
を参照してください。

また、簡単な動作テストしか行っていませんので、
アシカラズ。 

Option Explicit

Dim IngFlg As Boolean

Declare Function OpenClipboard Lib "user32" (Optional ByVal hwnd As Long = 0) As Long
Declare Function CloseClipboard Lib "user32" () As Long
Declare Function EmptyClipboard Lib "user32" () As Long

'//--------クリップボード監視開始
Sub CaptureStat()
 IngFlg = True
 OpenClipboard '以下でクリップボードを空にする。
 EmptyClipboard
 CloseClipboard
 AutoCapture
End Sub

'//--------クリップボード監視終了
Sub CaptureStop()
 IngFlg = False
End Sub


'//--------クリップボード監視メイン
Sub AutoCapture()
 
 Dim CB As New DataObject
  
 Do While True
   
  CB.GetFromClipboard
   
  If IngFlg = False Then
   MsgBox ("クリップボードの監視を終了します")
   Exit Sub
  End If
   
  If CB.GetFormat(1) Then
   Cells(2, 1).Value = CB.GetText
  End If
  
  OpenClipboard '以下でクリップボードを空にする。
  EmptyClipboard
  CloseClipboard
  
  DoEvents
 
 Loop
  
End Sub

投稿日時 - 2018-07-16 17:39:17

補足

QRコードリーダーProはコード読取後、このソフト内にあるクリップボードへコピーのコマンドボタンによりクリップボードにコピーされます。そのコピー操作をsendkeysによってEXCELに取り込むことはできています。こんなに立派なプログラムではありませんが、常時監視によりEXCELセルへ転記も成功しています。コマンドボタンによるスイッチング操作なしでQRコードを読取データをダイレクトにEXCELセルへ転記させたいのですが。。。いわゆる、QRコードをWEBカメラにかざした瞬間にエクセルセルへデータが転記されることを目標にしております。

投稿日時 - 2018-07-16 18:20:06

お礼

大変お忙しいところ、大変有り難くビギナーでも判り易い解説も含めてありがとうございました。2アクション(QRコード読取+クリップボードコピー)ではなく1アクション(QRコード読取と同時にEXCELのセルへ)を目指していろいろ取り組んでいるのですが、お手上げ状態です。

投稿日時 - 2018-07-16 18:20:08

あなたにオススメの質問