Data Matrix バーコードの生成

Crystal Reports、MS Excel、MS Access にシームレスに実装

Crystal ReportsでData Matrixバーコードを生成する

Crystal ReportsでData Matrixバーコードを生成するには?

Crystal ReportsでData Matrixバーコードを生成するには、Barcodesoft UFLライブラリの BCSDataMatrixEncodeCR 関数を使用して新しい式フィールドを作成します。データベースフィールドを引数として渡し、デザインキャンバスに式フィールドを配置して、フォントファミリー BcsDataMatrix を適用します。

  1. ステップ 1: SAP Crystal Reportsのビット数の確認とDLLの登録

    お使いのSAP Crystal Reportsバージョンのビット数(32ビットまたは64ビット)を確認してください。SAP Crystal Reports 2008から2016までは32ビット版、SAP Crystal Reports 2020および2025は64ビット版です。

    64ビット版 Crystal Reports (2020 / 2025) の場合:

    コマンドプロンプトを管理者として実行し、以下を実行します:

    cd "C:\Program Files\Common Files\Barcodesoft\FontUtil"
    %systemroot%\System32\regsvr32.exe cruflbcs_x64.dll
    64ビット版 cruflbcs.dllの登録

    32ビット版 Crystal Reports (2008–2016) の場合:

    コマンドプロンプトを管理者として実行し、以下を実行します:

    cd "C:\Program Files (x86)\Common Files\Barcodesoft\FontUtil"
    regsvr32.exe cruflbcs.dll
    32ビット版 cruflbcs.dllの登録
  2. ステップ 2: Barcodesoft UFL関数の場所を確認する

    Crystal Reportsで、関数エクスプローラーの階層を次のように移動します:関数リスト ⇒ 追加関数 ⇒ COM および .NET UFL (u212com.dll) ⇒ Visual Basic UFL。次に、BCSDataMatrixEncodeCR 関数をダブルクリックします。

    Crystal ReportsのVisual Basic UFLリストでBCSDataMatrixEncodeCR関数を探す
  3. ステップ 3: 新しい式フィールドを作成する

    式フィールドを右クリックし、コンテキストメニューから新規作成...を選択します。新しいフィールド名に「BcsDataMatrix1」と入力し、「エディターを使用」をクリックします。

    Crystal ReportsのフォーミュラワークショップでBcsDataMatrix1という名前の新しい式フィールドを作成する

    Data Matrixのエンコード処理後、短い文字列であっても予想以上に多くのコードワードが生成されることがあります。しかし、Crystal Reportsの式フィールドには最大255文字までという制限があります。 そのため、Data Matrixのコードワードを複数のパーツに分割し、フォント「BcsDataMatrix」を適用する前に、テキストオブジェクト内でそれらを結合する必要があります。 必要な式フィールドの数については、次の関数を使用して確認できます:BCSDatamatrixFormulaNoForCR({Test.Data})

    BCSDatamatrixFormulaNoForCR関数を使用して必要な式フィールド数を確認する
  4. ステップ 4: 複数の式フィールドを作成する

    BCSDatamatrixFormulaNoForCR({Test.Data}) の戻り値が1より大きい場合は、以下のように複数の式フィールドを作成してください。その後、同じテキストオブジェクト内に順番に配置します。 BCSDataMatrixEncodeCR({Test.Data}, 1, 0, 0, 0)
    BCSDataMatrixEncodeCR({Test.Data}, 2, 0, 0, 0)
    BCSDataMatrixEncodeCR({Test.Data}, 3, 0, 0, 0)

    Crystal Reportsでインデックス値を使用して複数の式フィールドを順次作成する

    式フィールドの第1パラメータは、エンコードする文字列です。 第2パラメータは、インデックスです。 第3パラメータは、フォーマットです。値の範囲は0から30で、0に設定した場合は自動選択フォーマットを意味します。 第4パラメータは、エンコード方式(Encodation)です。値の範囲は1から6で、それぞれ以下のエンコードに対応しています:ASCII (1), C40 (2), TEXT (3), X12 (4), EDIFACT (5), BASE256 (6)。 第5パラメータは、GS1インジケーター(Boolean)です。GS1準拠のバーコードであるかどうかを示します。GS1-DataMatrixに準拠していない場合は「0」に設定します。

  5. ステップ 5: レポートにテキストオブジェクトを挿入する

    作成したすべての式フィールドを、このテキストオブジェクトの中に順番にドラッグ&ドロップします。レポート上には一時的に16進数のコードが表示されますが、フォント「BCSDatamatrix」がまだ適用されていないためですので、問題ありません。

    Crystal Reportsのテキストオブジェクト内に連続する式フィールドを並べて配置する
  6. ステップ 6: フォント「BcsDatamatrix」を適用する

    テキストオブジェクトを右クリックし、コンテキストメニューから「オブジェクトの書式設定」を選択します。次に、フォントとして「BcsDatamatrix」を選択します。

    オブジェクトの書式設定ウィンドウでフォントとしてBcsDatamatrixを選択する
  7. ステップ 7: Crystal ReportsでのData Matrixの作成完了

    「OK」ボタンをクリックします。レポート上にData Matrixバーコードが生成されます。

    Crystal ReportsでのData Matrixバーコードの生成成功とプレビュー