マクロコマンド詳細

マクロコマンド スタンプ指定の際の注意点

多くのマクロコマンドは日時や条件文字列などのように、印字や日時に合わせて印字する内容が変化します。
スタンプブロックは前回印刷時にあらかじめ印刷が終わっていますので、スタンプに変化する文字列が含まれていると、スタンプブロックの内容が正しく印字できない場合があります。
動作原理上、スタンプブロックには、マクロコマンドは含めないでください。
スタンプブロックにコマンドボタンを使用すると、最初に注意を示すダイアログが表示されます。
※印字順序的に印刷内容がおかしくなることがありますが、ハードウェア動作としての障害はありません。動作を理解したうえで、スタンプブロックにマクロコマンドをご使用いただくことについては問題ございません。
カウンタ表示やバーコードの指定など印刷書式以外にもマクロコマンドを使用します。
※マクロコマンド説明はスマサバプリントと、Micro SmaSvrで共通となっています。
一部コマンドおよびソケット関連のコマンドはMicro SmaSvrのみ対応しています。
Micro SmaSvrバージョン1.3以降で、コマンドの一部が変更、追加されました。

マクロコマンド - 16進数入力

16進数でコード入力を行うことで、すべてのコードをシリアルポートに出力できます。
特にコマンドがないプリンタコマンドであっても、16進数入力で制御コードを直接指定することで、どのようなコードであってもコマンドとして発行することができます。
16進数でコードを指定する場合、1byteを$に続く2文字(0-9、a-f)により16進数として指定します。
[10以上の数値は英小文字a(10)-f(15)で指定します。]

例:
ESC コード $1b
Ascii ‘H’ $48
半角カタカナ ’ア’ $b1
数値255 $ff

マクロコマンド - 文字修飾指定、特殊文字列指定

文字修飾指定については、Aから始まる以下のマクロコマンドがあります。

$AL 左揃え
$AC 中央揃え
$AR 右揃え
$AW 倍角
$Aw 倍角解除
$AE 強調印字
$Ae 強調印字解除
$AX 標準設定: 左揃え, 倍角解除, 強調印字解除
$Ar 改行指定 Cr(キャリッジリターン), Lf(ラインフィード)コード
$Ac Cr(キャリッジリターン:$0d)
$Al Lf(ラインフィード:$0a)
$Ad $文字

書式以外にもカウンタ表示やバーコードの指定などもこのマクロコマンドで行います。
すべてのマクロコマンドについては、「マクロコマンド一覧」を参照ください。

*Micro SmaSvr Ver1.3以降では、文字倍角についての文字修飾指定コマンド(下記)が使用できます。 本機能は、ご利用のプリンタ機種に依存します。
指定可能な最大倍角値(H,Vとも) NPT:2, TSP:6, TMT・CBM・SII:8

$!1 1倍角    $!0[倍角リセット]は1倍角指定と同じ
$!2 2倍角
$!3 – $!8 3倍角~  プリンタ機種により印字可能な倍角サイズは異なります。
$!x 縦横個別指定倍角  下記参照

縦横個別指定倍角指定コード(H:水平方向倍角率、V:垂直方向倍角率)

V*1 V*2 V*3 V*4 V*5 V*6 V*7 V*8
H*1 $!1 $!H $!O $!V $!c $!j $!q $!x
H*2 $!A $!2 $!P $!W $!d $!k $!r $!y
H*3 $!B $!I $!3 $!X $!e $!l $!s $!z
H*4 $!C $!J $!Q $!4 $!f $!m $!t $![
H*5 $!D $!K $!R $!Y $!5 $!n $!u $!]
H*6 $!E $!L $!S $!Z $!g $!6 $!v $!{
H*7 $!F $!M $!T $!a $!h $!o $!7 $!}
H*8 $!G $!N $!U $!b $!i $!p $!w $!8

マクロコマンド - 現在日時

日時指定については、Dから始まる以下のマクロコマンドがあります。

$DD 年月日を入れて日付を印字 2012年08月01日
$DM 月日を入れて日付を印字 08月01日
$Dx 西暦年を印字 2012
$Dy 西暦年の下2桁を印字 12
$Dg 平成元号年の下2桁を印字 24
$Dm 月の下2桁を印字 08
$Dq 月を印字(1桁 or 2桁) 8
$Dd 日の下2桁を印字 01
$Dr 日を印字(1桁 or 2桁) 1
$DT 時分秒を入れて時刻を印字 12時34分56秒
$DN 時分を入れて時刻を印字 12時34分
$Dh 時(24時制)の下2桁を印字 12
$Di 時(24時制)を印字(1桁 or 2桁) 12
$Da 時(12時制)を印字(1桁 or 2桁) 0
$Dp AM, PMを印字 PM
$Dn 分の下2桁を印字 34
$Do 分を印字(1桁 or 2桁) 34
$Ds 秒の下2桁を印字 56
$Du 秒を印字(1桁 or 2桁) 56
$Dw 曜日を英文字3桁で表示 Wed
$DW 曜日を漢字1桁で表示

※印字する日時は、印刷を行った際のブラウザが返す日時が印字されます。

マクロコマンド - 条件文字列

預かり票などを発行する場合、1枚目を正本、2枚目以降を副本とすることがあります。
条件文字列マクロ$QFを用いることで、連番指定の枚数/番号に合わせた文字列の印刷ができます。
印刷文字列は設定の条件出力文字列設定で指定します。
シート1枚目とシート1枚目以外で異なる文字列が指定できます。
初期値では下記が設定されます。

$AF 条件出力文字列を印字 シート1枚目: 空白シート1枚目以外: [控]

*Mssp Ver1.2以前では、マクロコマンド条件文字列コマンド(上記)に$QFを使用していました。
マクロコマンド - ハードウェア制御

Micro SmaSvrのハードウェアを制御するマクロコマンドです。

$HD プリンタDKDコネクタ接続のドロワオープンコマンド発行
$HK 単票印刷でキー入力指定の際、単票印刷画面のキー入力値を反映
$Ka .. $Kz データパックで登録されたデータをシリアルポートに出力する
a~z(英小文字)の26種のデータパックを指定できる。

マクロコマンド - プリンタハードウェア制御

接続したプリンタなどのハードウェアを制御するマクロコマンドです。

$PI プリンタ初期化コマンドの発行
$PC プリンタ用紙強制カット[パーシャル(一点残し)カット]
$PS プリンタ用紙カット(用紙カット チェックボックス条件の反映)[パーシャル(一点残し)カット]

*スマサバ・プリント Ver1.2以前では、プリンタ初期化コマンドは$Hxを使用していください。
*Micro SmaSvr Ver1.3以降でプリンタにSIIが指定されている場合、$Pc, $Psによりフルカット指定ができます[機種依存]

マクロコマンド - バーコード出力

バーコードの印刷を行います。
バーコード値には、マクロコマンド(日時、カウンタなど)を組み合わせて使用可能です。
バーコード印刷はプリンタ機能に依存するため、使用するプリンタの制限をご確認ください。

プリンタによる指定例:
Code39やCODABARはスタート、ストップキャラクタの指定が必要です。
JANはチェックデジットが必須です。

バーコード出力方法

バーコードを印刷する場合、以下の順にコマンドを発行する必要があります。

  1. バーコー幅や高さなど出力条件を設定
  2. バーコード種別を選択
  3. スタートコード(必要な種類)
  4. バーコード値を出力(チェックデジットが必要な場合含む)
  5. ストップコード(必要な種類)
  6. バーコード終了コードを出力

バーコード値には、マクロコマンドにて日付や連番カウンタなど半角数値を織り込むことができます。

バーコード出力条件

$BH HRI (バーコード可読文字)あり
$Bh HRI (バーコード可読文字)なし
$B1~$B6 バーコード高さ指定 $B1(低い)~$B6(高い)
$B7~$B9 バーコード   細線幅指定 7:2dot, 8:3dot, 9:4dot

1.7.3     バーコード種別

$BA JAN13 / EAN13 13桁の末尾はC/D
正しいJANコードとして認識できる値を指定
$BE JAN8 / EAN8 8桁の末尾はC/D
正しいJANコードとして認識できる値を指定
$BN CODABAR / NW7 バーコードの前後にスタートコード、ストップコードとして A~Dの文字コードを加えて指定
$BC Code39 バーコードの前後にスタートコード、ストップコードとして *の文字コードを加えて指定

※プリンタ機種により、バーコードのスタート・ストップやCheck Digitのコード付加が必要

バーコード終了コード

$BT バーコードデータの終端を指定する。 バーコード種別と、このバーコード終了コードに挟み込む形でバーコードにするデータ文字列指定する。

「$B2$B7$BH$BNA123456B$BT」 CODABAR Start:A  値:123456 Stop:B

 

「$B2$B8$BH$BC*$Dy$Dm$Dd$N5*$BT」 Code39 *年月日連番5桁*

 

マクロコマンド - カウンタ出力

カウンタ出力は各種数値を書式化して出力します。
カウンタ出力コマンドは出力する出力ソースと出力書式を組み合わせます。

カウンタ出力ソース
スマサバ・プリント Ver1.2以前用、カウンタ出力ソース指定子には下記を使用してください。

$G 印刷繰返しカウンタ
$N 生成連番カウンタ
$P 印刷毎のページ番号カウンタ
$S 印刷カウンタ(内部連番)
$T ユーザー設定カウンタ
$V 数字単票印刷時の指定数値
$X シート番号カウンタ

*Micro SmaSvr Ver1.3以降では、カウンタ出力ソース指定子に下記を使用してください。

$g 印刷繰返しカウンタ
$n 生成連番カウンタ
$p 印刷毎のページ番号カウンタ
$s 印刷カウンタ(内部連番)
$t ユーザー設定カウンタ
$v 数字単票印刷時の指定数値
$x シート番号カウンタ

出力書式

B カウンタ値を半角表示 表示桁数はカウンタ桁数どおりに表示される。
ゼロサプレス:数値桁数のみ表示し、先行する0は表示されない
C カウンタ値を半角表示 表示桁数はカウンタ桁数どおりに3桁の,で区切って表示される。
Z カウンタ値を全角変換して表示
1~9 N桁の固定桁数半角表示
先行0パディング:カウンタ桁数が指定桁数より短い場合、数値のない上位桁(先行桁)は0で埋められる
a~i N桁の固定桁数を全角変換して表示 先行0パディング:a=1桁、i=9桁

マクロコマンドは、カウンタ出力ソースと出力書式を組み合わせます。

例 $n5 連番カウンタを5ケタ固定で出力  00123  0を加え5桁で表示する