'このVBScriptについて: '【使用方法】 '各種設定内、「バーコード」タブ内に「マクロファイル名」が指定されている場合に以下のタイミングで呼び出されます。 '@メイン画面で、バーコードをスキャン直後。データベースに対象商品を検索する前。 '例えば、バーコード値をフォーマットする場合等に使用して下さい。 '(動作順序) '「メイン画面販売」→「商品バーコードスキャン」→「マクロファイル名登録確認」→「マクロファイル呼び出し」→ '「バーコード値の変更」→「データベース商品情報検索、取得」→「メイン画面商品情報表示」 '※各種設定内でバーコード読み取り回数、範囲が指定されている場合は、その設定適用後に呼び出されます 'Aメイン画面で、バーコードをスキャン後、もしくは、CSV形式テキストファイルのデータインポート時、データベースに対象商品が見つからない場合。 '例えば、バーコード値に商品ID、販売価格情報、商品名を持たせる場合等に使用して下さい。 '(動作順序) '「メイン画面販売」→「商品バーコードスキャン、又は、データインポート」→「データベースの商品情報未登録確認」→「マクロファイル名登録確認」→ '「マクロファイル呼び出し」→「商品ID、販売価格、商品名の取得」→「商品IDからデータベース情報取得」→「メイン画面商品情報表示」 '※仕入の際に呼び出された場合は、商品ID、商品名値のみNyushukka側で使用されます。 'B各種設定内でバーコード読み取り回数が2回に指定されている場合の、1回目のスキャン後 '例えば、1段と2段バーコードを混在使用している場合のスキャン回数の判定に使用して下さい。 '(動作順序) '「メイン画面販売」→「商品バーコードスキャン(1段目)」→「マクロファイル名登録確認」→「マクロファイル呼び出し」→ '「2段目をスキャンするか判定」→「2段目をスキャンしない場合、そのまま、データベース商品情報検索、取得」→「メイン画面商品情報表示」 '【注意事項】 'JScriptへの対応は、このファイルを参考に新たに製作して下さい。定数名、及び、関数名は、同じものを使用して下さい。 'ファイルは、必ず、Nyushukkaフォルダ内のMacroフォルダに置いて下さい。 '【定数】 'このスクリプト全体で利用可能な定数 '(Nyushukkaから渡される値。値の代入は不可。) '定数名:strBarcode '説明:バーコード値 '【関数】 'Nyushukkaから呼び出される関数 '関数名:OnScan() '戻り値:フォーマット後のバーコード値 '説明:バーコードをスキャン後に呼び出されます。尚、スキャン回数が2回に設定されている場合は、2回目のスキャン後に呼び出されます。上記@のケース 'その後の処理を中断する場合は、文字数ゼロの空の値を返して下さい。 '関数名:OnMissingShouhinnID() '戻り値:商品リスト内にある既存商品の商品ID。未定義の場合、0(ゼロ) '説明:バーコードスキャン後、バーコード番号からデータベースに対象商品が見つからない場合に呼び出されます。上記Aのケース '関数名:OnMissingHannbaikakaku() '戻り値:販売価格。未定義の場合、0(ゼロ) '説明:バーコードスキャン後、バーコード番号からデータベースに対象商品が見つからない場合に呼び出されます。 '「OnMissingShouhinnID」関数でデータベース内の商品が指定された場合のみ、この新しい販売価格が使用されます。上記Aのケース '関数名:OnGivingNewShouhinnmei() '戻り値:新しい商品名。未定義の場合、空欄 '説明:バーコードスキャン後、バーコード番号からデータベースに対象商品が見つからない場合に呼び出されます。 '「OnMissingShouhinnID」関数でデータベース内の商品が指定された場合のみ、この新しい商品名が使用されます。上記Aのケース '関数名:OnCheckDoubleScanningWhenFirstScan() '戻り値:2回目のスキャンを実行する場合、1以上の値。実行しない場合、0(ゼロ) '説明:各種設定内でバーコード読み取り回数が2回に指定されている場合の、1回目のスキャン後に呼び出されます。 '上記Bのケース '【スクリプト本体】 Function OnScan() 'TODO: コードをここに記述してください Dim strFolderPath Dim strFileName Dim objFileSys Dim objOutFile Set objFileSys = CreateObject("Scripting.FileSystemObject") strFolderPath = "C:\Program Files\Nyushukka\Log\" strFileName = "BarcodeScan" & Year(Now) & Right("0" & Month(Now), 2) & Right("0" & Day(Now), 2) & ".txt" If objFileSys.FileExists(strFolderPath & strFileName) = False Then objFileSys.CreateTextFile strFolderPath & strFileName End If Set objOutFile = objFileSys.OpenTextFile(strFolderPath & strFileName,8) objOutFile.WriteLine """" & time & """,""" & strBarcode & """,""1""" objOutFile.Close Set objFileSys = Nothing Set objOutFile = Nothing OnScan = strBarcode '初期設定は、変更なし End Function Function OnMissingShouhinnID() 'TODO: コードをここに記述してください 'バーコード値が、「111222333444」形式の場合のサンプル '1桁目以降の3桁の数値(111)が計算対象カテゴリー番号 '4桁目以降の3桁の数値(222)が商品ID '7桁目以降の3桁の数値(333)が、販売価格 Dim strCategory If Len(strBarcode) <= 12 Then'バーコードの長さの検査 strCategory = Mid(strBarcode,1,3) If strCategory = "111" Then '計算対象バーコードの場合 OnMissingShouhinnID = Mid(strBarcode,4,3)'商品IDの抽出 Else '計算対象外バーコードの場合 OnMissingShouhinnID = 0 '対象商品なし End If Else OnMissingShouhinnID = 0 '対象商品なし End If End Function Function OnMissingHannbaikakaku() 'TODO: コードをここに記述してください 'バーコード値が、「111222333444」形式の場合のサンプル '1桁目以降の3桁の数値(111)が計算対象カテゴリー番号 '4桁目以降の3桁の数値(222)が商品ID '7桁目以降の3桁の数値(333)が、販売価格 Dim strCategory If Len(strBarcode) <= 12 Then'バーコードの長さの検査 strCategory = Mid(strBarcode,1,3) If strCategory = "111" Then '計算対象バーコードの場合 OnMissingHannbaikakaku = Mid(strBarcode,7,3)'販売価格の抽出 Else '計算対象外バーコードの場合 OnMissingHannbaikakaku = 0 '販売価格なし End If Else OnMissingHannbaikakaku = 0 '販売価格なし End If End Function Function OnGivingNewShouhinnmei() 'TODO: コードをここに記述してください OnGivingNewShouhinnmei = "" '初期設定は、データベースの商品名をそのまま使用 End Function Function OnCheckDoubleScanningWhenFirstScan() 'TODO: コードをここに記述してください OnCheckDoubleScanningWhenFirstScan= 1 '初期設定は、2回目のスキャンを実行 End Function