見学に行くとしたら【天国】と【地獄】どっち?

はじめまして。
やりたい事は、A1にQRコードを読み後、自動でB1に移動しまたQRコードを読み後
A2列に移動、QRコードを読み後、自動でB2に移動しまたQRコードを読み後A3に移動の
繰り返しをプロブラミングしたいのですがよくわかりません。

御存じの方ご教授お願い致します。

A 回答 (2件)

こんにちは



QRコード入力はできているのでしょうか?
多くの場合は、リーダーからの入力を「キーボード入力+改行」として入力するような設定をしていると思いますが、そのあたりの設定をどのようにしているのかにもよります。
また、エクセル側でも「改行入力時のセルの移動方向」を設定できるので、これを横方向にしているか縦方向にしているのかも関係してきますね。

一番簡単なのは、入力用のシートではかまわず入力を続けて縦1列(または横1行)に入力してしまう方法でしょう。
別シートに関数等を設定しておいて、入力値をお好みのレイアウトに変更して読み替えれば、入力と同時に別シート側にはお求めの結果が並ぶことになります。
(この仕組みの場合は、関数のみなのでVBAは不要です)


どうしてもひとつのシート内でご質問の動作を実現したいのであれば、VBAを利用してSelection_ChangeやChangeイベントでアクティブなセル位置を次の入力位置に制御してあげれば良いことになります。

とは言え、リーダーからの入力と通常のキーボードからの入力の差は識別できませんので、常時走らせておくと通常のキーボード入力時にもカーソル位置制御がされてしまって不都合が起きてしまう可能性があります。
(入力専用のシートでその他の操作は一切行わないのなら問題ありませんが)
そのような場合には、制御の実行と停止を切り替えられるような仕組みにしておく必要があるかも知れません。
    • good
    • 0

VBAでQRコードを読み取り、指定のセルに移動するプログラムを作成するには、以下の手順を参考にしてください。



1. QRコード読み取りライブラリの設定

まず、QRコードを読み取るために「ZXing.Net」ライブラリを使用します。以下の手順で設定を行います。

ZXing.Netから最新のリリースをダウンロードします。

ダウンロードしたZIPファイルを解凍し、zxing.dllとzxing.interop.dllを適切なフォルダにコピーします。

64bit OSの場合: C:\Windows\SysWOW64

32bit OSの場合: C:\Windows\System32

コマンドプロンプトを管理者権限で起動し、以下のコマンドを実行します。

64bit Excelの場合:

C:\Windows\Microsoft.NET\Framework64\最新フォルダ\regasm.exe /codebase zxing.interop.dll /tlb zxing.interop.tlb

32bit Excelの場合:

C:\Windows\Microsoft.NET\Framework\最新フォルダ\regasm.exe /codebase zxing.interop.dll /tlb zxing.interop.tlb

2. VBAコードの作成

次に、VBAコードを作成します。以下のサンプルコードを参考にしてください。

Sub ReadAndMove() Dim ws As Worksheet Dim qrData As String Dim i As Integer Set ws = ThisWorkbook.Sheets("Sheet1") ' シート名を適宜変更してください For i = 1 To 3 ' A1からA3まで繰り返し qrData = Decode_QR_Code_From_File("C:\path\to\qrcode" & i & ".png") ' QRコードの画像パスを適宜変更してください ws.Cells(i, 2).Value = qrData ' B列にQRコードのデータを入力 Next i End Sub Function Decode_QR_Code_From_File(strFilePth As String) As String Dim reader As Object Dim res As Object Set reader = CreateObject("ZXing.BarcodeReader") Set res = reader.DecodeFile(strFilePth) Decode_QR_Code_From_File = res.Text Set reader = Nothing Set res = Nothing End Function

このコードでは、A1からA3までのセルに対応するQRコードを読み取り、そのデータをB1からB3に入力します。QRコードの画像ファイルのパスは適宜変更してください。

3. 実行

Excelを開き、Alt + F11キーでVBAエディタを開きます。

新しいモジュールを挿入し、上記のコードを貼り付けます。

F5キーを押してコードを実行します。

これで、QRコードを読み取り、指定のセルにデータを入力するプログラムが実行されます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A