キャラクター間ディレイ
― QRスキャンの文字欠けを防ぐ設定
ExcelでQRコードを作成し、QRリーダーやバーコードリーダーで読み取って、Excel入力・Webシステム入力・業務システム入力を自動化したい場面を想定しています。
↵ Enter / Tab の共通整理
QR入力では、読み取り先によって最初に試す制御を分けます。Num Enter は Excel の CHAR 関数では生成できないため、必要な場合はQRリーダー側のキー変換で確認します。
| 用途 | まず試すもの | 備考 |
|---|---|---|
| Excelで次行へ移動 | CHAR(10) | ExcelのEnter移動設定やリーダーのサフィックスに依存します。 |
| Webフォームの確定・検索 | CHAR(13) | 画面ごとに差があるため、検証画面で確認します。 |
| 基幹系の確定 | Num Enter | CHAR関数では生成できません。QRリーダー側のキー変換が必要です。 |
| Tab移動 | CHAR(9) | 多くのExcel/Webフォームで安定しやすい制御です。 |
🎯 この記事のゴール
QRスキャンでExcelやWebシステムに入力すると、「文字が欠ける」「途中の文字が飛ぶ」現象が起きることがあります。 これはQR入力を実務で使おうとした人が最初にぶつかる大きな壁です。
原因はシンプルです。QRリーダーの送信速度が、ExcelやWebシステム側の処理速度を上回ると、文字が取りこぼされます。 その対策が、QRリーダー側のキャラクター間ディレイです。 この記事では、その原理・設定方法・推奨値・テスト方法を整理します。
🔍 なぜ文字が欠けるのか ― 原理
QRリーダーは「超高速キーボード」です。 人間が1秒かけて1文字打つところを、リーダーは1秒で数百文字を送り込めます。
ところが、Excelはキー入力1つごとに「セルの再計算」「画面の再描画」「入力規則のチェック」などの処理を裏側で行っています。 Webシステムでも、入力欄の制御、JavaScriptの処理、画面描画、通信待ちなどが発生する場合があります。
リーダーの送信速度が入力先の処理速度を超えると、処理しきれなかった文字が取りこぼされることがあります。 これが文字欠け・文字飛びの正体です。
本記事ではExcelを使って文字欠けの原理とディレイ設定を説明しています。
下の動画は、その同じ考え方を業務システムの入力画面に応用したイメージです。
QRリーダーの送信速度がシステムの処理速度を上回ると文字が欠ける現象は、Excelでも業務システムでも同じように発生します。
【業務システム応用イメージ】ディレイなしでは処理落ちにより入力漏れが発生することがあります。適切なディレイを入れることで、全項目が正確に入力されやすくなります。
❌ ディレイなし(初期設定)― 文字欠けが発生
→ リーダーが速すぎてCとDが処理されず消失。結果「ABEF」のようになる
✅ ディレイあり ― 文字欠けを防ぐ
→ 1文字ごとに待つので処理が追いつきやすくなる。結果「ABCDEF」
⏱️ キャラクター間ディレイとは
| 項目 | 内容 |
|---|---|
| 英語名 | Inter-character Delay / Intercharacter Delay / Keystroke Delay |
| 意味 | QRリーダーが1文字を送信した後、次の文字を送信するまでの待ち時間 |
| 初期設定 | 多くのリーダーで待ち時間が短い、または最速寄りの設定 |
| 設定方法 | リーダーの設定用バーコードを読み込む / 専用ソフト / 設定ツール |
| 効果 | 適切に設定すれば、文字欠け・文字飛びを防ぎやすくなる |
📊 推奨ディレイ値
最適値はPC性能、Excelファイルの重さ、Webシステムの処理、QRデータ長、リーダー機種によって異なります。 以下は、ms指定の機種で考える場合の目安です。
| ディレイ値 | 入力速度の目安(30文字) | 文字欠けリスク | 推奨シーン |
|---|---|---|---|
| 0 ms | 瞬時 | ✕ 高い | メモ帳のみ / テスト用 |
| 5 ms | 約0.15秒 | △ やや危険 | 軽いシート+高性能PC |
| 10 ms | 約0.3秒 | ○ ほぼ安全 | 一般的なExcelシート |
| 20 ms | 約0.6秒 | ◎ 安全寄り | 最初に試す目安 |
| 30 ms | 約0.9秒 | ◎ 安全 | 数式が多い重めのシート |
| 50 ms | 約1.5秒 | ◎ 安全 | 入力規則・条件付き書式が多いシート、Webシステム |
| 100 ms | 約3秒 | ◎ 安全 | 古いPC / 非常に重い画面 |
ms指定の機種では、まず 20 ms前後 で設定してテストします。 文字欠けが出たら 30 → 50 と上げていきます。
文字欠けが出ない場合でも、無理に最速を狙う必要はありません。 実務では「ギリギリ速い設定」より「少し余裕を持って確実に入力できる設定」を採用してください。
キャラクター間ディレイは、最終的には自分のPC・Excelファイル・業務システム・QRデータ長でテストして決めます。 1回成功しただけでは不十分で、最低10回、できれば実運用に近いデータで連続テストしてください。
ギリギリ速い設定では、普段は成功しても、PC負荷が高い瞬間やExcelの再計算が重なった瞬間に文字欠けが出ることがあります。 業務で使う場合は、最速よりも再現性と安定性を優先してください。
ディレイを大きくすれば文字欠けを防げるケースは増えますが、無駄に大きくすると全体の入力時間が長くなります。 また、検索後の画面表示待ち、登録後の完了待ち、確認ダイアログ待ちなど、特定の場所でまとまった待機が必要な処理は、キャラクター間ディレイだけではうまく対応できません。
このような場合は、⑥ Sleep(一時停止)、QRの分割、またはリーダー側の追加設定で対応してください。
🔧 設定方法 ― メーカー別ガイド
キャラクター間ディレイの設定方法や調整幅は、メーカー・機種によってかなり違います。 ここでは、本シリーズで扱う中心機種に合わせて、オプトエレクトロニクス、Zebra、Honeywell の3系統に絞って整理します。
Inter-character Delay / Character Delay / Keystroke Delay
メーカーによって呼び方は少し違いますが、探すべき項目はおおむね以下です。
| 表記例 | 意味 |
|---|---|
| Inter-character Delay | 1文字送信した後、次の文字を送るまでの待ち時間 |
| Character Delay | 文字間ディレイ。Inter-character Delay とほぼ同じ意味で使われることが多い |
| Keystroke Delay | キーボード入力として送る各キーの間隔 |
| Inter-function Delay | Tab、Enter、ファンクションキーなど制御キー送信後の追加待ち時間 |
キャラクター間ディレイは「すべての文字の間」に入る待ち時間です。 画面遷移後や検索後など、特定の場所だけ長く待ちたい場合は、キャラクター間ディレイではなく、 ⑥ Sleep(一時停止) の考え方で対応します。
OPI-3601 / ALX-3601 / L-46X など
オプトエレクトロニクス社(Opticon)の以下3機種で動作確認しています。
① OPI-3601(メイン検証機)
② ALX-3601 OEMの機種(OPI-3601の互換品)
③ L-46X(OCR機能付き上位モデル・数字等のOCR読取可能)
オプトエレクトロニクス系のリーダーは、キャラクター間ディレイの調整がしやすく、本シリーズの検証でも安定して扱いやすい印象です。
特に重要なのは、オプト系ではキャラクター間ディレイをmsを直接入力する方式ではなく、標準設定で20段階程度の速度段階として調整できる点です。
| 項目 | 内容 |
|---|---|
| 検証状況 | OPI-3601 / ALX-3601 / L-46X で動作確認済み |
| 設定方式 | 標準設定で段階式に調整する方式。20段階程度の設定幅があり、かなり遅めの送信まで調整しやすい |
| 向いている用途 | Excel入力、Webシステム入力、文字欠け対策、重めの画面への入力 |
| 調整の考え方 | 最初は中間〜やや遅めから開始し、文字欠けがなければ少しずつ速い方向へ調整する |
| 注意点 | 「Serial Trigger Delay」など、別用途のDelay設定と混同しないこと |
msで細かく数値指定するというより、段階を上げ下げして実機で安定点を探す考え方です。 20段階程度の幅があるため、かなり遅めの入力速度まで調整でき、文字欠け対策として使いやすいです。
DS / LI / LS シリーズなど
Zebraについては、DS2208でキャラクター間ディレイ系の設定を確認しています。 ただし、DSシリーズ・LIシリーズ・LSシリーズの他機種でも同じ設定幅・同じ挙動になるかは未確認です。
Zebraは、123Scanや設定バーコードを使って、USB HID Keyboard系の設定を変更できます。 固定項目・固定順序の入力、Tab / Enter / Pause を組み合わせた業務には強い印象です。
一方で、キャラクター間ディレイの設定幅については、オプトエレクトロニクスのようにかなり遅い速度まで広く調整する用途では、やや幅が限られる印象があります。
| 項目 | 内容 |
|---|---|
| 確認済み機種 | DS2208でチェック済み。他機種は未確認 |
| 設定方法 | 設定バーコード、または123Scanユーティリティで設定可能 |
| 得意な用途 | 固定順序の入力、Tab / Enter / Pause を組み合わせた定型入力 |
| 注意点 | キャラクター間ディレイを大きく遅くしたい場合は、実機で調整幅を確認した方がよい |
Zebraは固定工程にはかなり強い一方で、設定を細かく作り込むと、そのQRリーダーが特定業務専用の設定に近くなる場合があります。
汎用リーダーとして使うものと、特定業務専用に設定するものは分けて考えると運用しやすいです。
Xenon / Voyager / Granit シリーズなど
Honeywellについては、その後 EZConfig / Data Formatter を使って一部検証しました。Intercharacter Delay や Data Formatter により、文字間ディレイ、待機、キー送信を細かく調整できることを確認しています。
Honeywellは、Data Formatter や各種Delay設定により、文字間ディレイ、Tab / Enter 後の待ち、データ整形などを高度に設定できます。
機能だけを見ると、Webシステム入力や業務システム入力、物理RPA的な制御には有力な候補です。 ただし、設定場所が Control Characters、Extended ASCII、Key Strokes などに分かれるため、実運用前には対象機種と対象画面で必ずテストしてください。
| 項目 | 内容 |
|---|---|
| 検証状況 | Xenon 1900gで一部検証済み。Data Formatter と Delay 系設定を確認 |
| 期待できる機能 | Intercharacter Delay、Data Formatter、EF Delay、Key Strokes などによる高度な入力制御 |
| 確認したい点 | 対象機種での設定保存・復元、複数マーカー処理、紙の設定QRだけで配布できる範囲 |
| 導入時の注意 | メーカー・販売店に、実際の入力画面とQRデータ例を伝えて確認するのが安全 |
速度調整とキー送信の自由度は高い一方、設定画面の見方が分かりにくくなりやすいです。 「設定できる」ことと「現場で復元しやすい」ことは別なので、実機で文字欠け・Tab移動・Enter確定・待機処理・復元手順を確認してから使うのが安全です。
設定項目の有無を必ず確認
Amazonや楽天などで販売されている安価なリーダーでも、付属の設定シートに Character Delay や Keystroke Delay の項目がある場合があります。
ただし、ディレイ設定が存在しない機種や、設定できても段階が少ない機種もあります。 文字欠けが発生した場合、ディレイ設定がないリーダーでは根本的な解決が難しくなります。
業務で使う場合は、購入前に キャラクター間ディレイ、Tab / Enter送信、サフィックス設定、キー変換 に対応しているか確認してください。
特にExcelやWebシステムへ長い文字列を送る用途では、ディレイ設定の有無が安定性に直結します。
🧪 テスト方法 ― 文字欠けチェック
ディレイを設定したら、必ず以下の手順でテストしてください。
STEP 1:テスト用QRデータを作る
下の数式をExcelのセルに入れて、バーコードコントロールのLinkedCellに設定します。
全40文字+Tab3つ+Enter1つ = 計44文字。4セルにまたがるテストデータです。
STEP 2:テスト用のシートを準備する
| 手順 | 操作 |
|---|---|
| 1 | 新しいシートを開き、A1〜D1に見出し「テスト1」「テスト2」「テスト3」「テスト4」を入れる |
| 2 | A2にカーソルを置く |
| 3 | テスト用QRをスキャンする |
| 4 | A2〜D2に入力された内容を確認する |
STEP 3:結果を確認する
| セル | 期待される値 | 結果 | 判定 |
|---|---|---|---|
| A2 | ABCDEFGHIJ | 全文字一致していればOK | ○ |
| B2 | 1234567890 | 全文字一致していればOK | ○ |
| C2 | KLMNOPQRST | 全文字一致していればOK | ○ |
| D2 | 0987654321 | 全文字一致していればOK | ○ |
・文字が欠けている → ディレイ値を上げる、または段階式なら遅い方向へ調整する
・特定のセルが空 → Tab/Enterが正しく送信されているか ②の記事 を確認
・同じセルに全文字が入っている → Tabが効いていない。リーダーのUSB-HIDモードを確認
STEP 4:連続スキャンテスト
1回で成功したら、最低10回連続でスキャンしてください。 A2〜A11まで10行のデータが正しく入力されれば合格です。
STEP 5:実運用シート・実画面でテスト
テスト用シートで合格したら、最後に実際に使う業務シートやWebシステム画面でもテストしてください。 数式・条件付き書式・入力規則が多いシートや、JavaScript処理が重いWeb画面では、テスト用シートより高いディレイ値が必要になることがあります。
🎛️ ディレイ値の最適化 ― 速度と信頼性のバランス
ディレイは大きくすれば文字欠けを防ぎやすくなりますが、その分だけ入力速度は遅くなります。 重要なのは、最速を狙うことではなく、自分の環境で十分に確実な速度を見つけることです。
「ギリギリ速い値」を追い求めるより、余裕を持った確実な値で固定するのが正解です。 20 ms相当で安定しているなら、あえて極限まで速くする必要はありません。
文字欠けが1回でも発生すると、再入力・確認・修正に時間がかかり、速くしたメリットが簡単に失われます。 入力速度よりも、ミスなく毎回同じ結果になることを優先してください。
⏳ 補足:Tab・Enter前後の追加ディレイ
キャラクター間ディレイは「文字と文字の間」の待ち時間ですが、Tab や Enter はExcelやWebシステムにセル移動・欄移動・確定処理という重い処理を発生させます。 通常のキャラクター間ディレイだけでは、Tab・Enter直後に文字欠けが起きる場合があります。
| 設定名(メーカーにより名称が異なる) | 意味 | 目安 |
|---|---|---|
| Inter-function Delay / Control Character Delay | 制御文字(Tab・Enter等)を送信した後の追加待ち時間 | 50〜100 ms程度からテスト |
この設定がない機種の場合は、QRデータ側で対処します。 記事⑥のSleep(一時停止)機能を使うことで、Tab・Enter後に任意の待ち時間を挿入できます。
キャラクター間ディレイは、すべての文字の間に少しずつ待ち時間を入れる設定です。 そのため、文字欠け対策には有効ですが、全体の入力速度も遅くなります。
一方で、検索実行後・登録ボタン押下後・画面遷移後のように、特定の場所だけ長めに待ちたい場合は、キャラクター間ディレイを大きくするのではなく、 ⑥ Sleep(一時停止) の考え方で対応してください。
🚧 ディレイだけでは解決しない問題
キャラクター間ディレイは文字欠け対策として有効ですが、以下の問題は別のアプローチが必要です。
| 問題 | 原因 | 解決する記事 |
|---|---|---|
| テンキーEnterが必要 | CHAR関数ではテンキーEnter(拡張スキャンコード)を生成できない | ④ キー変換テクニック |
| ファンクションキーを送りたい | F1〜F12はASCIIコードに存在しない | ④ キー変換テクニック |
| 画面遷移・検索結果表示に時間がかかる | Enter後に次画面が出る前に、次の入力が送られてしまう | ⑥ Sleep(一時停止) |
| 全角文字をQRに入れたい | バーコードコントロールがASCII中心の運用になる | ⑪ 全角QR生成 |
| 長いデータを送りたい | QR作成方式やリーダー設定によって扱える文字数に上限がある | ⑨ 閉域転送(分割方式) |
📝 この記事で学んだこと
| 項目 | 内容 |
|---|---|
| 文字欠けの原因 | QRリーダーの送信速度 > ExcelやWebシステム側の処理速度 → 文字の取りこぼし |
| 解決策 | キャラクター間ディレイ(Inter-character Delay)を設定する |
| 推奨値 | ms指定の機種では、まず20 ms前後を目安に試し、NGなら 30 → 50 → 100 ms のように上げる。 オプトエレクトロニクス社製のような20段階式の機種では、まず中間〜やや遅めから始め、文字欠けが出たら遅い方向へ1〜2段階ずつ調整する。 ZebraはDS2208で確認済みだが、遅くできる幅は機種により確認が必要。 HoneywellはXenon 1900gで一部検証済みで、細かく低速化できる有力候補。ただし設定保存・復元と紙の設定QR展開は別途確認する。 最終的には自分のPC・Excelファイル・Webシステムで連続テストし、ギリギリではなく余裕を持って確実に入力できる設定で固定する。 |
| 設定方法 | メーカーの設定マニュアル、設定用バーコード、または設定ツールで変更する |
| テスト方法 | 40文字程度のテストQRを10回連続スキャンして全回一致を確認 |
| Tab/Enter後の追加ディレイ | Inter-function Delay、または⑥ Sleepで対処 |
| ディレイの限界 | キャラクター間ディレイは文字欠け対策には有効だが、遅くしすぎると全体が無駄に遅くなる。検索後・登録後・画面遷移後など特定箇所の待機には、⑥ Sleep やQR分割で対応する |
| ディレイで解決しない問題 | テンキーEnter → ④、処理待ち → ⑥、全角 → ⑪、長文・分割 → ⑨ |
🔜 次に読む記事
| あなたの状況 | 次に読むべき記事 |
|---|---|
| 業務システムでテンキーEnterが必要 / ファンクションキーを送りたい | ④ QRコード → キー変換テクニック |
| 実際の業務シナリオで試したい | ⑤ キー変換の実践シナリオ |
| 検索後・登録後・画面遷移後に待機が必要 | ⑥ Sleep(一時停止)で処理完了を待つ |
| 全テクニックを組み合わせた完成形を見たい | ⑦ QRリーダー設定の全体像!フルシステム構築ガイド |
QRリーダー連携の運用注意
QRリーダーは多くの場合、PCにはキーボード入力として認識されます。 Tab、Enter、ファンクションキー、待機時間を組み合わせると登録・更新・削除などの操作まで進められるため、実務投入前の検証手順を必ず固定してください。
- 本番データではなく、架空データと検証用画面で読み取り順、セル移動、登録操作を確認する。
- 個人情報、認証情報、機密コードをQRにそのまま埋め込まない。必要な場合は最小限のIDに置き換える。
- 設定バーコード、初期化手順、復旧手順を保存し、誰が変更したかを記録する。
- キー変換や待機時間を変更した後は、Excel以外の画面がアクティブな状態で誤送信されないか確認する。
- Webシステムで使う場合は、最初の入力欄にフォーカスが合っていることを確認する。