[戻る] 

 

帳票フォーム

第1章  スクリプトの書き方 

第2章 MyBasicの文法 


第1章 スクリプトの書き方

概要

一般規則

用紙

セクション構成


概要
納品書や請求書の印刷形式を指定するにはスクリプトファイルを作成する必要があります。
スクリプトはテキストファイルです。テキストエディタで作成できます。
拡張子は.Rs5で販売管理プログラムRs5.exeと同じフォルダに置いて下さい。


一般規則
スクリプトで各行の「'」以降は注釈となります。
語句の前後の空白はいくつでも構いません。
エディタのTab間隔は4文字を推奨します。


用紙
印刷スクリプトは1枚の複数のページがあるような用紙をサポートしています。
また各頁には複数列の明細を持つことができます。

@
1.XXXXXXXXXX 6.XXXXXXXXXX
2.XXXXXXXXXX 7.XXXXXXXXXX
3.XXXXXXXXXX 8.XXXXXXXXXX
4.XXXXXXXXXX 9.XXXXXXXXXX
5.XXXXXXXXXX  
A
1.XXXXXXXXXX 6.XXXXXXXXXX
2.XXXXXXXXXX 7.XXXXXXXXXX
3.XXXXXXXXXX 8.XXXXXXXXXX
4.XXXXXXXXXX 9.XXXXXXXXXX
5.XXXXXXXXXX  
B
1.XXXXXXXXXX 6.XXXXXXXXXX
2.XXXXXXXXXX 7.XXXXXXXXXX
3.XXXXXXXXXX 8.XXXXXXXXXX
4.XXXXXXXXXX 9.XXXXXXXXXX
5.XXXXXXXXXX  
C
1.XXXXXXXXXX 6.XXXXXXXXXX
2.XXXXXXXXXX 7.XXXXXXXXXX
3.XXXXXXXXXX 8.XXXXXXXXXX
4.XXXXXXXXXX 9.XXXXXXXXXX
5.XXXXXXXXXX  
D
1.XXXXXXXXXX 6.XXXXXXXXXX
2.XXXXXXXXXX 7.XXXXXXXXXX
3.XXXXXXXXXX 8.XXXXXXXXXX
4.XXXXXXXXXX 9.XXXXXXXXXX
5.XXXXXXXXXX  
E
1.XXXXXXXXXX 6.XXXXXXXXXX
2.XXXXXXXXXX 7.XXXXXXXXXX
3.XXXXXXXXXX 8.XXXXXXXXXX
4.XXXXXXXXXX 9.XXXXXXXXXX
5.XXXXXXXXXX  

1つの物理的な用紙をシート、シート上の各頁を面と呼びます。
シート上の頁は@ABCの順に印刷されます。
頁上の明細は1.2.3.4の順に印刷されます。

セクション構成
スクリプトは次の10のセクションより構成されます。

セクションの順序は不同ですが、なるべくこの順に記述して下さい。
1セクションは1つのスクリプトで1つだけ記述できます。
セクションの始まりは [セクション名] ではじまります。
1〜7の各セクションにはセクション記述を書きます。
セクション記述は

    キー名 = 値1, 値2, ....

の形式です。
9〜10のセクションはMyBasic言語による印刷内容の定義です。

(1).データセクション
このスクリプトで使用する外部データを記述します。
セクション名はデータです。
Raiser以外の外部データを印刷したい場合などに使用します。
外部データが不要の場合は省略可能です。
データとして利用できるファイルは現在
1.ヘッダなしCSVファイル
2.ヘッダ付きCSVファイル
の2種類のみです。
ヘッダ付きの場合はヘッダ項目内容が各列の項目名になります。
ヘッダ無しの場合はA,B,C....が各列の項目名になります。
(注)このセクションはRaiser以外のデータを印刷するためのものです。
現在は未対応です。

○記述例
[データ]
形式 = HCSV ' CSV:ヘッダ無しCSV HCSV:ヘッダ付CSV
ファイル = C:\Data\宛名.CSV ' データファイル名
(2).用紙セクション
このスクリプトで使用する用紙の形式を記述します。
セクション名は用紙です。
用紙名 使用する用紙の説明です。
(例)用紙名 = 宛名ラベル
用紙サイズ 用紙サイズをA4 ' A2, A3, A4, A5, B4, B5, はがきより選んで下さい。現バージョンでは実行時の印刷設定で選ばれる用紙が優先されますので、上記の用紙サイズにない場合は近い用紙を選んでおいて下さい。
(例)用紙サイズ = A4
用紙方向 縦または横を選んで下さい。
(例)用紙方向 = 縦
座標単位 印字位置指定のための座標の単位を指定します。0:インチ 1:ミリ 2:グリッドより番号で選んで下さい。グリッドは任意の大きさに設定できる座標単位で、次のグリッドで設定します。
(例)座標単位 = 2
グリッド 座標単位にグリッドを指定した場合のグリッドの大きさを指定します。インチあたりのグリッド数を指定します。水平方向、垂直方向別にしていします。
(例)グリッド = 1/10, 1/6  '(水平方向は1/10インチ、垂直方向1/6インチ)    
用紙マージン 印字位置のオフセットを指定します。座標単位で指定します。左マージン、上マージンで指定します。
(例)用紙マージン = 1.5, 1.3
面サイズ 1シートに複数頁がある場合に、一つの面の大きさを指定します。面の大きさは隣の面との間隔で指定します。横方向、縦方向の順で指定します。
(例)面サイズ = 9.5, 5.4
面数 1シートに複数頁がある場合に、面の数を指定します。横方向、縦方向の順で指定します。
(例)面数 = 2, 5
明細位置 最初の明細の位置を座標単位で指定します。最初の明細の領域の左上の座標です。
(例) 明細位置 = 0, 10
明細サイズ 1つの明細領域の大きさを指定します。明細領域の大きさは隣の明細領域との間隔で指定します。横方向、縦方向の順で指定します。
(例)明細サイズ = 9, 0.8
明細数 1頁の明細数を指定します。列数,行数,先頭頁減少行数,末尾頁減少行数の順で指定します。
先頭頁減少行数は最初の頁にヘッダ情報等を印刷するために明細行が減る場合に指定します。
末尾頁減少行数は最後の頁にフッタ情報等を印刷するために明細行が減る場合に指定します。
(例)明細数 = 2, 40, 0, 0
印刷開始位置 1シートに複数頁がある場合に、途中の面から印字する場合に面番号で指定します。
0を指定すると実行時の印刷設定で指定できるようになります。
(例)印刷開始位置 = 1
印刷部数 印刷部数を設定します。
0を指定すると実行時の印刷設定で指定できるようになります。
(例)印刷部数 = 1
(3).フォントセクション
このスクリプトで使用するフォントを記述します。
セクション名はフォントです。
8つのフォントまで使用できます。

フォント記述は 
    フォントn(1〜8) = フォント名,ポイント,修飾1,修飾2...
です。
ポイントは1/10ポイント単位です。
修飾は BOLD, ITALIC, UNDERLINE, STRIKEOUT の組み合わせです。
縦書きの場合はフォント名の前に@を付けて下さい。

○記述例
[フォント]
フォント1 = MS明朝, 11
フォント2 = MSゴシック, 11, 0.5
フォント3 = MS明朝, 11, 0, BOLD, ITALIC
(4).ペンセクション
このスクリプトで使用するペンを記述します。
セクション名はフォントです。
8つのペンまで使用できます。

ペン記述は 
    ペンn(1〜8) = スタイル, 幅, 色指定
です。
スタイルは SOLID, DASH, DOT, DASHDOT, DASHDOTDOT のいづれかです。
幅は1/1000インチ単位で記述します。
色指定は(RED,GREEN,BLUE)で記述します。

○記述例
[ペン]
ペン1 = SOLID, 20, RGB(0, 0, 0) 
ペン2 = DASH, 1, RGB(128, 255, 255)
ペン3 = DOT, 1, RGB(128, 255, 255)
(5).ブラシセクション
このスクリプトで使用するブラシを記述します。
セクション名はフォントです。
8つのブラシまで使用できます。

ブラシ記述は 
    ブラシn(1〜8) = スタイル, 色指定, ハッチ
です。
スタイルは SOLID, NULL, HATCHED のいづれかです。
色指定は(RED,GREEN,BLUE)で記述します。
スタイルは HORIZONTAL, VERTICAL, FDIAGONAL, BDIAGONAL, CROSS, DIAGCROSS のいづれかです。

○記述例
[ブラシ]
ブラシ1 = SOLID, RGB(128, 255, 255) 
ブラシ2 = SOLID, RGB(128, 255, 255)
ブラシ3 = HATCHED, RGB(128, 255, 255), CROSS
(6).ピクチャマップセクション
このスクリプトで使用するピクチャを記述します。
セクション名はフォントです。
8つのピクチャまで使用できます。

ピクチャ記述は 
    ピクチャn(1〜8) = ファイル名
です。

○記述例
[ピクチャ]
ピクチャ1 = C:\Projects\PrintStudio\Data\yahoo.bmp
ピクチャ2 = C:\Projects\PrintStudio\Data\norika.bmp
(7).オプションセクション
呼び出し側で使用するオプションを設定します。
セクション名はオプションです。
使用できるオプションはプログラムにより規定されます。

形式は
    オプション名 = 数値定数
です。

現在は請求書及び元帳でのみ設定可能で、次のオプションがあります。
明細印刷順序 0:日付順 1:支店順 2:発送先順 3:車番順
発生明細 0:印刷しない 1:印刷する
内訳合計 0:印刷しない 1:印刷する
内訳明細 0:印刷しない 1:印刷する
消費税 0:印刷しない 1:印刷する
軽油税 0:印刷しない 1:印刷する
記事 0:印刷しない 1:印刷する 2:売上明細の横に印刷
備考 0:印刷しない 1:印刷する
決済明細 0:印刷しない 1:印刷する
発生伝票計 0:印刷しない 1:印刷する
決済伝票計 0:印刷しない 1:印刷する
日計 0:印刷しない 1:印刷する
期間合計 0:印刷しない 1:印刷する
発送先ヘッダ 0:印刷しない 1:印刷する
発送先合計 0:印刷しない 1:印刷する
支店ヘッダ 0:印刷しない 1:印刷する
支店合計 0:印刷しない 1:印刷する
現金取引 0:印刷しない 1:印刷する
(8).初期値セクション
ユーザ定義の変数とその初期値を設定します。
セクション名は初期値です。
ユーザ定義の変数は(9).頁印刷セクションおよび(10).明細印刷セクションでも定義できますが、このセクションで定義すると、印刷ダイアログで初期値を変更することができます。

形式は
    変数名 = 文字定数
または 
    変数名 = 数値定数
です。
(9).頁印刷セクション
各頁毎に行う印刷処理をMyBasic言語を用いて記述します。
セクション名は頁印刷です。

○記述例
[頁印刷]
If Preview = True Then
DrawPicture -5, -0.8, 85, 21, 1
End If

SetFont 1, 0, 1
Print 3, 0, Format(伝票番号, "999999")
Print 59, 0, Format(取引日の年, "ZZ")
Print 63, 0, Format(取引日の月, "ZZ")
(10).明細印刷セクション
各明細行毎に行う印刷処理をMyBasic言語を用いて記述します。
セクション名は明細印刷です。

○記述例
[明細印刷]
SetFont 1, 0, 1
Print 0, 0, Left(商品コード, 6)
SetFont 1, 0
Print 7, 0, 商品名

第2章 MyBasicの文法 

MyBasicは一般のBasicに準じた簡単なプログラム言語です。
Basicの経験のある方でしたらすぐにでも書けると思います。

制御文

変数

定数

演算子

ステートメント

関数

システム変数


制御文

制御文には次の3つの構文が使用できます。

(1).繰り返し制御
Do While 条件式
    [statements]
[Exit Do]
    [statements]
Loop

条件式の値が0になるまで、Do と Loop の間のステートメントを繰り返します。
Exit Do で強制的にループを抜けます。
(2).分岐制御1
If 条件式 Then 
    [statements]
End If

条件式の値が0でないなら、If と End If の間のステートメントを実行します。
(3).分岐制御2
If 条件式 Then 
    [statements]
Else
    [statements]
Endif

条件式の値が0でないなら、If と Else の間のステートメントを実行し、それ以外なら Else と End If の間のステートメントを実行します。

変数

文字や数値を格納するための場所を表します。変数名は次の規則に従って付けてください。
変数名の先頭の文字は、英字、漢字、ひらがな、カタカナのいずれかでなければなりません。
変数名のその他の部分には英数字、漢字、ひらがな、カタカナ、アンダスコア (_) を使うことができます。
変数には文字列を格納する文字列型変数と数値を格納する数値変数型があります。変数の型は変数に値を格納するときに自動的に決まります。

変数には次の2つの種類があります。

(1).システム変数
予め定義されている変数です。例えば Day というシステム変数には今日の日が入っています。
詳しくはシステム変数の項をご覧ください。
(2).利用者定義変数
手続き記述の中で任意に用いることができる変数です。変数の宣言は不要です。
利用者定義変数は代入ステートメントの左辺として用いられたときに自動的に定義されます。

定数

手続き記述のなかで直接に固定値を使用することができます。これを定数といいます。
定数には数値を現す数値定数と文字列を現す文字列定数があります。
定数には次の2つの種類があります。

(1).システム定数
予め定義されている定数です。次の3つです。
    True  数値 論理式の真を現します。
    False 数値 論理式の偽を現します。
    Null   文字列 空の文字列を現します。
(2).利用者定義定数
手続き記述の中で任意に用いることができる定数です。
数値定数は 12345 のようにカンマを付けずに記述します。整数のみ扱えます。
文字列定数は "本日は晴天なり" のようにダブルクォーテションで囲みます。

演算子

演算子は2つの項目間で演算を行うもので、次のものがあります。

(1).数値演算子
2つの数値(定数、変数、関数)の加減乗除を行います。
    + 加算
    - 減算
    * 乗算
    / 除算
乗算と乗算は加算と減算よりも優先します。優先順位はカッコ()によつて変えられます。
(2).文字列演算子
2つの文字列(定数、変数、関数)の連結のみが行えます。
+ 2つの文字列を連結します。
(3).比較演算子
2つの数値(定数、変数、関数)または2つの文字列(定数、変数、関数)どうしの比較を行い正しければ真に、間違っていれば偽になります。なお真はTrueと偽はFalseと定義されています。文字列の比較は1バイトずつアスキーコードで比較します。
    +  より小さい 
    <= 以下 
    >  より大きい 
    >= 以上
    =  等しい
    <> 等しくない 
(4).論理演算子
2つの式の間の論理的関係を計算します。
And 論理積 両辺の値がともに 真(True)の場合のみ真(True)になります。
Or 論理和 両辺の値のどちらかが 真(True)であれば真(True)になります。



変数、定数、関数、演算子、括弧()の組み合わせたもので、式全体で1つの数値または文字を現します。

数値を現すものを数値式といいます。
例 (Yar*10000+Mon+100+Day)/2

文字列を現すものを文字列式といいます。
例 GetFolderName(DocumentFile)+"Mydb.Txt"


ステートメント

ステートメントとは手続きを実行するための命令の単位です。
1つのステートメントは1行に記述します。複数行に分けることはできません。
また1つの行に複数のステートメントを書くこともできません。

(1).代入ステートメント
式の値を利用者定義変数に格納します。一般形式は次の通りです。

利用者定義変数 = 式

(2).フォント指定ステートメント
以下の印刷で使用するフォントを指定します。

構文
SetFont <FontNumber>, [TextColor], [Pitch]

<FontNumber> フォントセクションで定義したフォントの番号(1〜8)を指定します。
[TextColor] 文字色を数値(0〜65535)で指定します。RGB関数を利用すると便利です。指定しなければ文字色は現在のままです。
[Pitch] 文字間隔を座標単位でしていします。 指定しなければ標準の間隔です。
(3).文字列出力ステートメント
文字を出力します。

構文
Print <X>, <Y>, <outputlist>, [Alignment], [EvenLength]
<X>, <Y>  印刷開始位置を座標単位で指定します。
<outputlist> 任意の文字列や数値(定数、変数、関数、式)を指定します。
複数指定する場合はセミコロンで区切って下さい。
[Alignment] 配置方法を指定します。
     0 左寄せ(規定値)
     1 右寄せ
     2 中央
     3 均等配置
[EvenLength]  均等配置する場合は均等配置長さを座標単位で指定します。
(4).線描画ステートメント
2点を結ぶ直線を指定のペンで描画します。

構文
DrawLine <X1>, <Y1>, <X2>, <Y2>, <PenNumber>
<X1>, <Y1> 始点を座標単位で指定します。
<X2>, <Y2> 終点を座標単位で指定します。
<PenNumber> ペンセクションで定義したペンの番号(1〜8)を指定します。
(5).四角形描画ステートメント
2点を対角とする四角形を指定のペンで描画します。
ブラシを指定すると中をブラシで塗りつぶします。

構文
DrawRect <X1>, <Y1>, <X2>, <Y2>, <PenNumber>, [BrushNumber]
<X1>, <Y1> 左上隅の点を座標単位で指定します。
<X2>, <Y2> 右下隅の点を座標単位で指定します。
<PenNumber> ペンセクションで定義したペンの番号(1〜8)を指定します。
0の場合は輪郭を描画しません。
[BrushNumber]  ブラシセクションで定義したブラシの番号(1〜8)を指定します。
省略すると塗りつぶしません。
(6).角の丸い四角形描画ステートメント
2点を対角とする角の丸い四角形を指定のペンで描画します。
ブラシを指定すると中をブラシで塗りつぶします。

構文
DrawRoundRect <X1>, <Y1>, <X2>, <Y2>, <R>, <PenNumber>, [BrushNumber]
<X1>, <Y1> 左上隅の点を座標単位で指定します。
<X2>, <Y2> 右下隅の点を座標単位で指定します。
<R>  角の丸みの半径を座標単位で指定します。
<PenNumber> ペンセクションで定義したペンの番号(1〜8)を指定します。
0の場合は輪郭を描画しません。
[BrushNumber] ブラシセクションで定義したブラシの番号(1〜8)を指定します。
省略すると塗りつぶしません。
(7).楕円描画ステートメント
2点を対角とする四角形に内接する楕円を指定のペンで描画します。
ブラシを指定すると中をブラシで塗りつぶします。

構文
DrawEllipse <X1>, <Y1>, <X2>, <Y2>, <PenNumber>, [BrushNumber]
<X1>, <Y1> 左上隅の点を座標単位で指定します。
<X2>, <Y2> 右下隅の点を座標単位で指定します。
<PenNumber> ペンセクションで定義したペンの番号(1〜8)を指定します。
0の場合は輪郭を描画しません。
[BrushNumber] ブラシセクションで定義したブラシの番号(1〜8)を指定します。
省略すると塗りつぶしません。
(8).ピクチャ描画ステートメント
指定位置に絵を描画します。

構文
DrawPicture <X>, <Y>, <Width>, <Height>, <PictureNumber>
<X>, <Y> 左上隅の点を座標単位で指定します。
<Width> 描画幅を座標単位で指定します。0の場合は高さより自動計算します。
<Height> 描画高さを座標単位で指定します。0の場合は幅より自動計算します。
<PictureNumber> ピクチャセクションで定義したピクチャの番号(1〜8)を指定します。
(9).外部プログラム実行ステートメント
実行プログラムまたはドキュメントを開きます。

構文
Execute <finename> [Parameters]
<finename> 実行ファイル名またはドキュメントファイル名を指定します。
ドキュメントファイルの場合はファイルタイプによりシェルに登録された実行ファイルが自動的に起動されます。
[Parameters]  <finename>が実行ファイル名の場合はパラメータを指定することができます。パラメータは文字列です。
(10).郵便番号バーコード印刷ステートメント
住所文字列を元に郵便番号バーコードを描画するステートメントです。
別売の郵便番号パックが必要です。

構文
DrawZipBarcode <X>, <Y>, <Width>, <Height>, <Address>
<X>, <Y> 左上隅の点を座標単位で指定します。
<Width> 描画幅を座標単位で指定します。
<Height> 描画高さを座標単位で指定します。
<Address> 郵便番号バーコードを描画する住所を指定します。
(11).バーコード印刷ステートメント
文字列より指定タイプのバーコードを印刷します。
別売のバーコードパックが必要です。

構文
DrawBarcode <X>, <Y>, <Width>, <Height>, <type>, <data>
<X>, <Y> 左上隅の点を座標単位で指定します。
<Width> 描画幅を座標単位で指定します。
<Height> 描画高さを座標単位で指定します。
<type> バーコードデータのタイプを指定します。0:JAN
<data> 県名または市町村名から始まる住所文字列です。

関数

システムで予め決められた数値または文字列を返す手続きです。
数値を返す数値関数と、文字列を返す文字列関数があります。
関数は関数名の後に()が付きます。()の中には引数が必要なものもあります。
複数の引数が必要な場合はカンマで区切ります。引数としては定数、変数、関数、式などが利用できます。

MyBasicで提供される関数は次の8つのカテゴリーに分けることができます。

ダイアログ関数
このカテゴリーの関数はダイアロクボックスを開いて選択または入力した値を返します。

(1).入力ファイルダイアログ
入力用ファイルを選択してファイル名を返します。
中止の場合はNull("")を返します。

構文
InputFileDialog(title, initdir)
title ダイアログのタイトルを文字列で指定します。
initdir 初期表示フォルダを文字列で指定します。
(2).出力ファイルダイアログ
出力用ファイルを選択してファイル名を返します。
中止の場合はNull("")を返します。

構文
OutputFileDialog(title, initdir)
title ダイアログのタイトルを文字列で指定します。
initdir 初期表示フォルダを文字列で指定します。
(3).文字列入力ダイアログ(未対応)
文字列を入力して入力した文字列を返します。
中止の場合はNull("")を返します。

構文
StrInputDialog(title, initstr)
title ダイアログのタイトルを文字列で指定します。
initstr 初期表示入力文字列を指定します。
(4).選択ダイアログ(未対応)
ラジオボタンにより複数の選択項目から1つを選びます。
最高5つまでの項目が選べます。選択した項目番号(1〜5)を返します。
中止の場合は0を返します。

構文
SelectDialog(title, selid1, selid2,[selid3]...)
title ダイアログのタイトルを文字列で指定します。
selid1, selid2 ... 項目のタイトルを文字列指定します。
(5).メッセージボックス
メッセージボックスを表示します。
OKまたはYesならTrue(-1)、中止またはNoならFalse(0)を返します。

構文
MsgBox(prompt, buttom) 
prompt メッセージボックスに表示するメッセージを文字列で指定します。
buttom ボタンの種類を数値で指定します。 0:OKのみ 1:OKとCANCEL 2:YesとNo

ファイルパスの分解
このカテゴリーの関数はファイルパスを分解して、ドライブ名やフォルダー名を返します。

(1).ドライブ名の取得
ファイルパスよりドライブ名を取得し返します。

構文
GetDriveName(path)
path パスを文字列で指定します。
(2).フォルダー位置の取得
ファイルパスよりフォルダー位置を取得し返します。
最後に\が付きます。

構文
GetFolderName(path)
path パスを文字列で指定します。
(3).ベース名の取得
ファイルパスよりベース名を取得し返します。

構文
GetBaseName(path)
path パスを文字列で指定します。
(3).拡張子の取得
ファイルパスより拡張子を取得し返します。
最後に.が付きます。

構文
GetExtentName(path)
path パスを文字列で指定します。

変換関数
このカテゴリーの関数は数値を文字列に、文字列を数値に変換して返します。

(1).数値から文字列へ
数値を文字列に変換します。

構文
Str(num)
num 変換する数値です。
(2).文字列から数値へ
文字列を数値に変換します。小数も可能です。

構文
Val(str)
str 変換する文字列です。
(3).数値から文字列へ(書式指定)
数値を書式指定で文字列に変換します。

構文
Format(num, format, [decimal], [invalid])
num 変換する数値です。
format 書式。次の文字より構成する文字列です。
    ,  カンマの位置を現します。
    .  実少数点の位置を現します。
    V 仮想小数点の位置を現します。(小数点は表示されません)
    9 0 数字を現します。
    Z # 数字を現します。 整数部先頭および整数部末尾にある場合はゼロ表示は抑制されます。
数字の表示長さは書式文字列の長さに等しくなります。(仮想小数点の場合は-1)
(例) "###,##9.9"
decimal 小数点位置がformat指定と異なる場合に正しい小数点位置を指定します。
invalid 無効数値を指定します。Numがこの値に等しい場合、関数は空白を返します。
(4).西暦年から和暦年へ
西暦を和暦に変換し和暦の年を数値で返します。

構文
Wareki(yar)
yar 西暦の年度です。
(5).年号
西暦を和暦に変換したときの年号を文字列で返します。

構文
Nengo(yar)
yar 西暦の年度です。
(6).曜日
年月日(西暦)に対応した曜日を0〜6(日〜土)の数字で返します。

構文
Week(yar, month, day)
yar 西暦の年度です。
month 月の数値です。
day 日の数値です。
(7).英語の月の名前
月に対する英語の名を3桁の文字列で返します。(1:JUN 2:FEB・・)

構文
MonthName(Month)
month 月の数値です。
(8).英語の曜日の名前
曜日に対する英語の名を3桁の文字列で返します。(0:SUN 1:MON・・・)

構文
WeekName(Week)
Week 週を表す数値0〜6(日〜土)の数値です。
(9).日本語の曜日の名前
曜日に対する日本語の名を漢字1桁の文字列で返します。(0:日 1:月・・・)

構文
JWeekName(Week)
Week 週を表す数値0〜6(日〜土)の数値です。
(10).郵便番号
住所文字列を郵便番号(数値)に変換して返します。
別売の郵便番号パックが必要です。

構文
Zip(Address)
Address 県名または市町村名から始まる住所文字列の数値です。

文字列操作
このカテゴリーの関数は文字列を加工して別の文字列を返します。

(1).左部分文字列
文字列の左より長さlenの部分文字列を得ます。
最後が全角の半分になる場合は、範囲が縮小されます。

構文
.Left(str, len)
str 元の文字列です。
len 取得長さです。
(2).右部分文字列
文字列の右より長さlenの部分文字列を得ます。
先頭が全角の半分になる場合は、範囲が拡大されます。

構文
.Right(str, len)
str 元の文字列です。
len 取得長さです。
(3).中央部分文字列
文字列の左よりpos番目の位置より長さlenの部分文字列を得ます。
先頭が全角の半分になる場合は、範囲が拡大されます。
最後が全角の半分になる場合は、範囲が縮小されます。

構文
.Mid(str, pos, len)
str 元の文字列です。
pos 開始位置です。
len 取得長さです。
(4).文字列整理
文字列の前後の空白を取り除いた文字列を得ます。

構文
.Trim(str)
str 元の元の文字列です。
(5).単語取得
文字列 をセパレータ文字列に含まれる区切文字で区切り、指定番目の部分文字列を取得します。
(例) GetWord("YAMADA-TARO/SUZUKI-ICHIRO", 2, "-/") は "SUZUKI" になります。

構文
.GetWord(str, idx, [sep])
str 元の文字列です。
idx 取得する区切り文字で区切られた単語の番号です。(0,1,2,・・・)
sep 文字列を単語に分けるための区切文字を連ねたセパレータ文字列です。区切り文字はセパレータ文字列に含まれるは半角および全角の1文字で複数指定できます。
セパレータ文字列を省略した場合は区切り文字はカンマと空白になります。
(例)セパレータ文字列が "//"の場合文字/と/が区切り文字となります。
(6).返信タイトル作成
与えられた通信文のタイトルより、先頭の「RE」より返信回数を調べ、新しく返信回数を現す文字列を付け加えます。
(例) ResTitle("RE^2こんにちは")は "RE^3こんにちは" になります。

構文
.ResTitle(title)
title 通信文のタイトルです。

その他

(1).Space(n)
n桁の半角空白を現す文字列です。

(2).TAB(n)
n個のタブを現す文字列です。

(3).Chr(n)
ASCIIコード(0〜255)に対応する1桁の文字列です。

(4).IsExist(File)
Fileの名前のファイル(パスも含む)が存在するかどうかを検査します。在ればTrue(-1)を返し、無ければFalse(0)を返します。


システム変数
システムにより定義される変数です。システム変数には次のものがあります。

(1).全ての帳票で共通な変数

(2).納品書用変数

(3).入金及び支払伝票用変数

(4).請求書及び元帳用変数

(5).送り状用変数

(6).顧客管理用変数

(7).商品管理用変数(未対応)

(1).全ての帳票で共通な変数
Preview 数値 プレビューのときにTrueになります
PIndex 数値 シート上のページ(面)の位置(左上が0で行方向へ進む)
DIndex 数値 ページ上の明細の位置(左上が0で列方向へ進む)
Yar 数値 現在日付の西暦年
Month 数値 現在日付の月
Day 数値 現在日付の日
Week 数値 現在日付の曜日(日曜が 0 〜 土曜が 6)
Hour 数値 現在時刻の時(24時間制)
Minute 数値 現在時刻の分
(システム設定)    
自社名 文字列  
自社郵便番号 文字列  
自社住所1 文字列  
自社住所2 文字列  
自社電話番号 文字列  
自社FAX番号 文字列  
自社名欄1 文字列  
自社名欄2 文字列  
自社名欄3 文字列  
自社名欄4 文字列  
自社名欄5 文字列  
自社名欄6 文字列  
自社名欄7 文字列  
自社名欄8 文字列  
入数小数桁 数値  
数量小数桁 数値  
単価小数桁 数値  
     
(2).納品書用変数
(総頁数|総明細数)    
総頁数 数値 現在の帳票の総頁数
総明細数 数値 現在の帳票の総明細数
(頁情報)    
頁番号 数値 現在の頁の頁番号(1,2,3...)
部番号 数値 現在の頁の部番号(1,2,3...)
発生額頁計 数値 現在の頁の発生額頁計
(取引先)    
取引先種別 数値 0:仕入先 1:得意先
取引先コード 文字列  
取引先副コード 文字列  
取引先名 文字列  
取引先郵便番号 文字列  
取引先住所1 文字列  
取引先住所2 文字列  
取引先電話番号 文字列  
取引先FAX番号 文字列  
取引先敬称 文字列  
取引先締日区分 数値  
取引先集金日区分 数値  
取引先集金方法 数値  
取引先区分コード1 数値  
取引先区分名1 文字列  
取引先区分コード2 数値  
取引先区分名2 文字列  
取引先備考 文字列  
(支店)    
支店コード 数値  
店コード 数値  
支店名 文字列  
支店郵便番号 文字列  
支店住所1 文字列  
支店住所2 文字列  
支店電話番号 文字列  
支店分類コード 数値  
(発送先)    
発送先コード 文字列  
発送先副コード 文字列  
発送先名 文字列  
発送先郵便番号 文字列  
発送先住所1 文字列  
発送先住所2 文字列  
発送先電話番号 文字列  
発送先FAX番号 文字列  
発送先敬称 文字列  
発送先備考 文字列  
(発送先支店)    
発送先支店コード 数値  
発送先店コード 数値  
発送先支店名 文字列  
発送先支店郵便番号 文字列  
発送先支店住所1 文字列  
発送先支店住所2 文字列  
発送先支店電話番号 文字列  
( 発生伝票)    
取引日の年 数値  
取引日の月 数値  
取引日の日 数値  
納品日の年 数値  
納品日の月 数値  
納品日の日 数値  
取引区分 数値 0:見積 1:受発注 2:発生 3:決済
決済区分 数値 0:掛け 1:現金
伝票番号 数値  
伝票区分コード1 数値  
伝票区分名1 文字列  
伝票区分コード2 数値  
伝票区分名2 文字列  
車両番号 数値  
為替レート 数値  
分類コード 数値 統一伝票用
伝票区分 数値 統一伝票用
発注区分 数値 統一伝票用
データ区分 数値 統一伝票用
仕入返品区分 数値 統一伝票用
見積書件名 文字列  
特記項目名1 文字列  
特記項目名2 文字列  
特記項目名3 文字列  
特記項目名4 文字列  
特記事項1 文字列  
特記事項2 文字列  
特記事項3 文字列  
特記事項4 文字列  
記事 文字列  
備考 文字列  
伝票合計箱数 数値  
伝票合計数量 数値  
伝票合計商品金額 数値  
伝票合計消費税額 数値  
伝票合計軽油税額 数値  
伝票合計税額 数値  
伝票合計金額 数値  
伝票合計原価金額 数値  
伝票合計売価金額 数値  
伝票合計訂正前数量 数値  
伝票合計訂正前金額 数値  
伝票合計訂正前売価金額 数値  
伝票合計内税商品金額 数値  
伝票合計内税消費税額 数値  
伝票合計粗利益額 数値  
伝票合計粗利率 数値  
伝票合計標準金額 数値 (未対応)
伝票合計標準単価率 数値 (未対応)
伝票合計売価率 数値 (未対応)
伝票小計金額 数値 (未対応)
( 取引明細)    
明細番号 数値 現在の帳票での現在の明細番号(1,2,3...)
伝票行番号 数値  
商品コード 文字列  
商品名 文字列  
規格 文字列  
入数 数値  
箱数 数値  
数量 数値  
単位 文字列  
外貨単価 数値  
単価 数値  
金額 数値  
原価単価 数値  
売価単価 数値  
訂正前数量 数値  
訂正前金額 数値  
訂正前売価金額 数値  
摘要 文字列  
消費税区分 数値 0:外税 1:内税 2:非課税
原価金額 数値  
売価金額 数値  
粗利益額 数値  
粗利率 数値  
明細毎消費税 数値  
標準金額 数値 (未対応)
標準単価率 数値 (未対応)
売価率 数値 (未対応)
( 商品)    
商品副コード1 文字列  
商品副コード2 文字列  
商品区分コード1 数値  
商品区分名1 文字列  
商品区分コード2 数値  
商品区分名2 文字列  
標準単価 数値  
相手先商品コード 文字列  
     
(3).入金及び支払伝票用変数
(総頁数|総明細数)    
総頁数 数値 現在の帳票の総頁数
総明細数 数値 現在の帳票の総明細数
(頁情報)    
頁番号 数値 現在の頁の頁番号(1,2,3...)
部番号 数値 現在の頁の部番号(1,2,3...)
決済額頁計 数値 現在の頁の決済額頁計
(取引先)    
取引先種別 数値 0:仕入先 1:得意先
取引先コード 文字列  
取引先副コード 文字列  
取引先名 文字列  
取引先郵便番号 文字列  
取引先住所1 文字列  
取引先住所2 文字列  
取引先電話番号 文字列  
取引先FAX番号 文字列  
取引先敬称 文字列  
取引先締日区分 数値  
取引先集金日区分 数値  
取引先集金方法 数値  
取引先区分コード1 数値  
取引先区分名1 文字列  
取引先区分コード2 数値  
取引先区分名2 文字列  
取引先備考 文字列  
(支店)    
支店コード 数値  
店コード 数値  
支店名 文字列  
支店郵便番号 文字列  
支店住所1 文字列  
支店住所2 文字列  
支店電話番号 文字列  
( 決済伝票)    
取引日の年 数値  
取引日の月 数値  
取引日の日 数値  
伝票番号 数値  
決済合計金額 数値  
調整合計金額 数値  
伝票合計金額 数値  
( 取引明細)    
明細番号 数値 現在の帳票での現在の明細番号(1,2,3...)
伝票行番号 数値  
決済科目コード 数値  
決済科目名 文字列  
決済金額 数値  
補助科目コード 数値  
補助科目名 文字列  
決済摘要 文字列  
手形期日の年 数値  
手形期日の月 数値  
手形期日の日 数値  
     
(4).請求書及び元帳用変数
(総頁数|総明細数)    
総頁数 数値 現在の帳票の総頁数
総明細数 数値 現在の帳票の総明細数
(頁情報)    
頁番号 数値 現在の頁の頁番号(1,2,3...)
部番号 数値 現在の頁の部番号(1,2,3...)
頁繰越額 数値 現在の頁の前頁繰越額
発生額頁計 数値 現在の頁の発生額頁計
決済額頁計 数値 現在の頁の決済額頁計
(取引先)    
取引先種別 数値 0:仕入先 1:得意先
取引先コード 文字列  
取引先副コード 文字列  
取引先名 文字列  
取引先郵便番号 文字列  
取引先住所1 文字列  
取引先住所2 文字列  
取引先電話番号 文字列  
取引先FAX番号 文字列  
取引先敬称 文字列  
取引先締日区分 数値  
取引先集金日区分 数値  
取引先集金方法 数値  
取引先区分コード1 数値  
取引先区分名1 文字列  
取引先区分コード2 数値  
取引先区分名2 文字列  
取引先備考 文字列  
(支店)    
支店コード 数値  
店コード 数値  
支店名 文字列  
支店郵便番号 文字列  
支店住所1 文字列  
支店住所2 文字列  
支店電話番号 文字列  
(発送先)    
発送先コード 文字列  
発送先副コード 文字列  
発送先名 文字列  
発送先郵便番号 文字列  
発送先住所1 文字列  
発送先住所2 文字列  
発送先電話番号 文字列  
発送先FAX番号 文字列  
発送先敬称 文字列  
発送先備考 文字列  
(発送先支店)    
発送先支店コード 数値  
発送先店コード 数値  
発送先支店名 文字列  
発送先支店郵便番号 文字列  
発送先支店住所1 文字列  
発送先支店住所2 文字列  
発送先支店電話番号 文字列  
( 取引先集計)    
開始日の年 数値  
開始日の月 数値  
開始日の日 数値  
終了日の年 数値  
終了日の月 数値  
終了日の日 数値  
請求日の年 数値  
請求日の月 数値  
請求日の日 数値  
入金日の年 数値  
入金日の月 数値  
入金日の日 数値  
前月残高 数値  
入金額 数値  
調整額 数値  
繰越額 数値  
プラス売上高 数値  
返品計 数値  
値引計 数値  
税抜売上額 数値  
消費税額 数値  
軽油税額 数値  
軽油数量 数値  
税額 数値  
税込売上額 数値  
当月残高 数値  
軽油内税額 数値  
内税商品金額 数値 内税商品の税込金額計
内税消費税額 数値  
売上伝票枚数 数値  
案内文 文字列 (未対応)
( 伝票ヘッダ)    
取引日の年 数値  
取引日の月 数値  
取引日の日 数値  
納品日の年 数値  
納品日の月 数値  
納品日の日 数値  
取引区分 数値 0:見積 1:受発注 2:発生 3:決済
決済区分 数値 0:掛け 1:現金
伝票番号 数値  
伝票区分コード1 数値  
伝票区分名1 文字列  
伝票区分コード2 数値  
伝票区分名2 文字列  
車両番号 数値  
為替レート 数値  
( 行属性)    
同一頁の先頭 数値 True または False
同一頁の最後 数値 True または False
同一車番の先頭 数値 True または False
同一車番の最後 数値 True または False
同一発送先の先頭 数値 True または False
同一発送先の最後 数値 True または False
同一支店の先頭 数値 True または False
同一支店の最後 数値 True または False
同一日付の先頭 数値 True または False
同一日付の最後 数値 True または False
同一伝票の先頭 数値 True または False
同一伝票の最後 数値 True または False
( 取引明細)    
明細番号 数値 現在の帳票での現在の明細番号(1,2,3...)
明細区分 数値 明細区分一覧をご覧下さい
伝票行番号 数値  
商品コード 文字列  
商品名 文字列  
規格 文字列  
入数 数値  
箱数 数値  
数量 数値  
単位 文字列  
外貨単価 数値  
単価 数値  
金額 数値  
原価単価 数値  
売価単価 数値  
摘要 文字列  
消費税区分 数値 0:外税 1:内税 2:非課税
(特殊明細)    
記事 文字列 明細区分13
備考 文字列 明細区分14
伝票合計消費税額 数値 明細区分3
伝票合計軽油税額 数値 明細区分4
伝票合計金額 数値 明細区分21(発生) 明細区分22(決済)
日計発生金額 数値 明細区分23
日計決済金額 数値 明細区分23
期間合計発生金額 数値 明細区分24
期間合計決済金額 数値 明細区分24
支店合計 数値 明細区分26
発送先合計 数値 明細区分28
車両合計 数値 明細区分30
(決済明細)    
決済科目コード 数値  
決済科目名 文字列  
決済金額 数値  
補助科目コード 数値  
補助科目名 文字列  
決済摘要 文字列  
手形期日の年 数値  
手形期日の月 数値  
手形期日の日 数値  
( 明細行毎の残高)    
掛金残高 数値  
( 商品)    
商品副コード1 文字列  
商品副コード2 文字列  
商品区分コード1 数値  
商品区分名1 文字列  
商品区分コード2 数値  
商品区分名2 文字列  
標準単価 数値  
相手先商品コード 文字列  
( 案内文)    
案内文1 文字列  
案内文2 文字列  
     
(5).送り状用変数
(頁情報)    
部番号 数値 現在の頁の部番号(1,2,3...)
( 送り状)    
発送日の年 数値  
発送日の月 数値  
発送日の日 数値  
お届日の年 数値  
お届日の月 数値  
お届日の日 数値  
発送元コード 文字列  
発送元名 文字列  
発送元支店コード 数値  
発送元支店名 文字列  
発送元敬称 文字列  
発送元郵便番号 文字列  
発送元住所1 文字列  
発送元住所2 文字列  
発送元備考 文字列  
発送元電話番号 文字列  
発送先コード 文字列  
発送先名 文字列  
発送先支店コード 数値  
発送先支店名 文字列  
発送先敬称 文字列  
発送先郵便番号 文字列  
発送先住所1 文字列  
発送先住所2 文字列  
発送先備考 文字列  
発送先電話番号 文字列  
商品コード 文字列  
商品名 文字列  
個数 文字列  
備考 文字列  
     
(6).顧客管理用変数
(頁情報)    
頁番号 数値 現在の頁の頁番号(1,2,3...)
部番号 数値 現在の頁の部番号(1,2,3...)
(取引先)    
取引先種別 数値 0:仕入先 1:得意先
取引先コード 文字列  
取引先副コード 文字列  
取引先名 文字列  
取引先郵便番号 文字列  
取引先住所1 文字列  
取引先住所2 文字列  
取引先電話番号 文字列  
取引先FAX番号 文字列  
取引先敬称 文字列  
取引先締日区分 数値  
取引先集金日区分 数値  
取引先集金方法 数値  
取引先区分コード1 数値  
取引先区分名1 文字列  
取引先区分コード2 数値  
取引先区分名2 文字列  
取引先備考 文字列  
     
(7).商品管理用変数(未対応)
(頁情報)    
頁番号 数値 現在の頁の頁番号(1,2,3...)
部番号 数値 現在の頁の部番号(1,2,3...)
( 商品)    
商品コード 文字列  
商品副コード1 文字列  
商品副コード2 文字列  
商品名 文字列  
規格 文字列  
単位 文字列  
入数 数値  
商品区分コード1 数値  
商品区分名1 文字列  
商品区分コード2 数値  
商品区分名2 文字列  
標準単価 数値  

明細区分一覧

コード

用                             途
0 通常の 商品明細
1 組合せ商品の 内訳合計
2 組合せ商品の 内訳明細(単価と金額は無効)
3 消費税
4 軽油税
13 記事(伝票で売上明細の前)
14 備考(伝票で売上明細の後)
20 決済明細(入金または支払い)
21 発生伝票計(売上伝票計または仕入伝票計)
22 決済伝票計(入金伝票計または支払伝票計)
23 日計
24 期間計
25 支店ヘッダ(支店毎明細の先頭で支店マスタがセットされる)
26 支店計(支店毎明細の末尾)
27 発送先ヘッダ(発送先毎明細の先頭で発送先マスタがセットされる)
28 発送先合計(発送先毎明細の末尾)
29 車両ヘッダ(車番毎明細の先頭で車番がセットされる)
30 車両合計(車番毎明細の末尾)
31 現金売上に対する擬似的な入金行