命令 | 処理名 | SHEET 指定 |
G E T |
S E T |
処理内容 |
if(条件){ } else { } ※elseは任意 |
条件分岐処理 | ― | ― | ― | 条件が一致した場合は"{"、"}"で囲まれた処理を実行します。 条件に一致しない場合はelse以下の"{"、"}"で囲まれた処理を実行します。 ただしelseの記述が無い場合は処理を無視します。 条件とは値、関係演算子、値の結果の正否を判定します。 値には型は任意で指定できますが日付型と数値型のような場合はエラーと なります。 ※関係演算子には下記があります。 (==、=、>、>=、<、<=、<>、!=) ==と=は同じ意味で一致を意味します。文字列の比較の場合は大文字、小文字も 判断します。 <>と!=は同じ意味で不一致を意味します。 ※ANDまたはOR条件は5つまで指定可能。 ANDとORがある場合はANDを優先します。 ANDのキーワードは"and"または"&&"。 ORのキーワードは"or"または"||"。 |
while(条件){ } | 繰り返し処理 | ― | ― | ― | 条件が一致した間は"{"、"}"で囲まれた処理を繰り返し実行します。 条件を満たさない処理を書くと無限ループとなるので注意ください。 使用例:nRowが0から9までの10回ループを繰り返します。 nRow = 0; while(nRow < 10) { 命令; nRow = nRow + 1; } |
break | 繰り返し処理抜ける | ― | ― | ― | while()の処理内で使用すると読み込んだ時点でループを抜けます。 |
return [戻り値] | 関数に戻る | ― | ― | ― | 関数の定義で戻り値ありの場合は返す値の指定が可能。 void指定の関数の場合は[戻り値]の指定は出来ません。 |
命令 | 内容 | 備考 |
string | 文字列型 | 文字列を扱います。 |
int | 整数型 | 数値、小数点を含まない。 |
double | 数値型 | 数値、小数点含む。 |
date | 日付型 | 日付を扱う変数を定義します。 |
sheet | シート型 | シートを扱う変数です。 該当のシートが無い、または指定なしでの実行時はエラーとなります。 ※関数への指定は不可。 ※型指定時は空だが空の指定は不可() ※取得時は指定したシート名を文字列で返します。(ver4.40以降) シートの使用例 (aaaという変数に"sheet1"を指定して、"sheet1"のシートでセルに値をセット。): sheet aaa; aaa = "sheet1"; aaa.cell(4,5) = "aaaa"; if(aaa != ""){ // シートの指定なし ver4.40以降可能 cell(4,6) = aaa; // 指定したシート名"sheet1"がセルにセットされる ver4.40以降可能 } aaa = get_sheet_name(get_sel_sheet_idx()); // 選択中のシートの指定例 |
void | 戻り値なし | 関数指定のときのみ指定可能。 |
区分 | 命令 | 内容 | 備考 |
共通 | true | int | 1 |
false | int | 0 | |
CRLF | string | 改行文字 | |
COLOR_BLACK | int | 黒色(0) | |
COLOR_WHITE | int | 白色(16777215) | |
COLOR_GRAY | int | 灰色(8355711) | |
COLOR_RED | int | 赤色(3750399) | |
COLOR_BLUE | int | 青色(15556683) | |
COLOR_GREEN | int | 緑色(5299016) | |
COLOR_YELLOW | int | 黄色(3145727) | |
NON | int | 0 : 基本的にDEF値 | |
get_cell_text | CELL_TEXT_INPUT | int | 0:入力値 "=C:SUM()"のような関数は関数として値を返す。 カードモード中でも連携文字を返す。例:"${フィールド}" 注意としてはセルに値を入れると連携先に"${フィールド}"のような値が連携される。 |
CELL_TEXT_VIEW | int | 1:表示値(通常のcell()と同じ) "=C:SUM()"は計算結果の値を返す。 ただし、書式がカンマで擬似的に付いたカンマは除く カードモード中、連携先の項目がカンマ書式のときカンマを除いた値を返す。 |
|
CELL_TEXT_COMMA | int | 2:カンマ付き "=C:SUM()"は計算結果の値を返す。 書式がカンマのとき見た目どおりカンマも付けた値を返す カードモード中、連携先の項目がカンマ書式のときカンマ付きを返す。 |
|
CELL_TEXT_CARD | int | 9:カード先を入力値 "=C:SUM()"は計算結果の値を返す。 書式がカンマのとき見た目どおりカンマも付けた値を返す カードモード中、連携先の項目がカンマ書式のときカンマは除いた値を返す。 |
|
cell_align | LEFT | int | 1:左詰め |
CENTER | int | 2:中央 | |
RIGHT | int | 3:右詰 | |
cell_valign | TOP | int | 1:上詰め |
CENTER | int | 2:中央 | |
BOTTOM | int | 3:下詰め | |
chg_str | UPPER | int | 1:大文字 |
LOWER | int | 2:小文字 | |
FULL_WIDTH_CHAR | int | 3:全角 | |
HALF_WIDTH_CHAR | int | 4:半角 | |
HIRAGANA | int | 5:ひらがな | |
KANA | int | 6:全角カタカナ | |
sel_sortcol | SORT_ASC | int | 0:昇順 |
SORT_DESC | int | 1:降順 | |
SORT_TYPE_TEXT | int | 0:ソート種類テキスト | |
SORT_TYPE_NUM | int | 1:ソート種類数値 | |
get_db_para | DB_PARA_CARD | int | 0:カードモードかどうかの判定 【関数からの戻り値の内容】 0:(false)カードモードでない 1:(true)カードモード中 |
DB_PARA_CARD_REC | int | 1:カードモード中のレコード位置 ※カードモード中以外は意味ない値です。 【関数からの戻り値の内容】 0からのインデックス値(画面上は1と表示している場合は0) |
|
DB_PARA_CARD_PAGERECSU | int | 2:カードモード中の1画面上に表示するレコード数を返す ※カードモード中以外は意味ない値です。 【関数からの戻り値の内容】 1画面中に表示するレコード数 例:カード連携する項目を"${フィールド名}"と指定した場合はページは1です。 "${フィールド名,3}"の内容が存在すると3となります。 |
|
DB_PARA_CARD_RECMAX | int | 3:カードモード中のレコード最大数を返す ※カードモード中以外は意味ない値です。 【関数からの戻り値の内容】 1画面中に表示するレコード数 例:カード連携する項目を"${フィールド名}"と指定した場合はページは1です。 "${フィールド名,3}"の内容が存在すると3となります。 |
|
DB_PARA_CARD_LINKSHEET_IDX | int | 5:カード連携しているシートのインデックス値を返す 【関数からの戻り値の内容】 カード連携しているシートのインデックス値(0から) 未連携のときは-1を返します。 |
|
DB_PARA_TG_REC_GYO | int | 10:レコード定義している1レコードあたりの行数を返します。 【関数からの戻り値の内容】 オプション画面の「1レコードあたりの行数」 レコード定義を指定していない場合は0を返します。 |
|
DB_PARA_TG_FIELD_ROW | int | 11:レコード定義しているフィールド定義している行を返します。 【関数からの戻り値の内容】 オプション画面の「何行目をフィールドと定義する?」の行 未定義の場合は0を返します。 |
|
DB_PARA_TG_DATATOP_ROW | int | 12:レコード定義しているデータの開始の行を返します。 ※レコード定義していない場合は意味のない値を返します。 【関数からの戻り値の内容】 オプション画面の「フィールド定義しない場合のレコード開始行」 フィールド定義されている場合は次行を返します。 |
|
DB_PARA_TG_AUTOCOPY | int | 15:最終行自動コピーの有無を返します。 【関数からの戻り値の内容】 オプション画面の「最終行自動コピー」がチェックありのとき1(true) チェックが無い場合は0(false) |
|
配列区分 array_str関連 |
AS0〜AS4 | int | 配列区分用で0から4を指定するより別で使ってる変数というのがわかりやすい のではないかと用意したもの。 |
get_keyword | KW_SHEET | int | 0:get_keyword()の引数に指定するID ・QuitList画面で選択を実行して該当キーワードがあれば後ろに書かれた名前の シートに遷移する。 ・マクロ登録画面のメニュー[オプション]-[キーワード編集]より変更可能 |
KW_COL | int | 1:get_keyword()の引数に指定するID ・QuitList画面で選択を実行して該当キーワードがあれば後ろに書かれた数字の 列にカーソルを移動する。 ・マクロ登録画面のメニュー[オプション]-[キーワード編集]より変更可能 |
|
KW_ROW | int | 2:get_keyword()の引数に指定するID ・QuitList画面で選択を実行して該当キーワードがあれば後ろに書かれた数字の 行にカーソルを移動する。 ・マクロ登録画面のメニュー[オプション]-[キーワード編集]より変更可能 |
|
KW_SET | int | 3:get_keyword()の引数に指定するID ・QuitList画面で選択を実行して該当キーワードがあれば後ろに文字列全てを カーソル位置に値をセットする。 ・マクロ登録画面のメニュー[オプション]-[キーワード編集]より変更可能 |
|
KW_COPY | int | 4:get_keyword()の引数に指定するID QuitList画面で選択を実行して該当キーワードがあれば後ろに文字列全てを クリップボードへコピーする。 |
|
KW_BOOK_PATH | int | 5:get_keyword()の引数に指定するID 開いているブックのパスを取得する。(未保存の場合は空を返す) |
|
KW_BOOK_FILE | int | 6:get_keyword()の引数に指定するID 開いているブックのファイル名を取得する。(未保存の場合は空を返す) |
|
KW_RET | int | 7:get_keyword()の引数に指定するID QuitList画面で選択を実行時、該当キーワードがあれば改行文字に置き換える。 |
命令 | 引数 | SHEET 指定 |
G E T |
S E T |
処理内容 |
clear_all() | なし | ○ | ― | ― | シート上のデータを全て削除 |
clear_row(row) | int row : 行 | ○ | ― | ― | 指定した行以下の行データをシート上から削除 |
quit() | なし | ― | ― | ― | マクロの処理を終了します。 |
cr = RGB(r,g,b) | int r : 赤色(0-255) int g : 緑色(0-255) int b : 青色(0-255) <int cr> 色番号 |
― | ― | ― | RGBの色番号を生成する。 |
str = hex(val, [kind]) | int val : 値 int kind : 種類(0:通常 1-8:頭0付きの桁数 -1:RGBの6桁) <string str>16進の文字列 |
― | str | ― | 数値を16進の内容で返します。 ※文字列を引数で渡すと空も文字も0を返します。 |
undo_off() | なし | ― | ― | ― | UNDO処理をクリアして動かなくします。offにすることでレスポンスがアップします。 |
create_array(size) | int size : 確保する領域(1-10000) | ― | ― | ― | 配列関数の領域を確保します。処理内で一度設定すると再定義は出来ません。 サイズを10と指定した場合は領域としては0から9までの領域が確保されます。 確保した領域を参照したり取得するにはarray()を使用します。 ※再度指定すると領域内の値はクリアされます。 |
val = array(index) array(index) = val |
int index : 使用するインデックス値 <int val>設定した数値 |
― | int | int | int型の配列的に値を保持したり取得したり出来ます。 使用する前にcreate_array()で領域を確保する必要があります。 例:create_array(10); i = array(0); array(9) = 5; |
create_array_str(size, [配列区分]) | int size : 確保する領域(1-50000) int 配列区分 : AS0からAS4の区分 (DEF:AS0) |
― | ― | ― | 配列関数の領域を確保します。処理内で一度設定すると再定義は出来ません。 サイズを10と指定した場合は領域としては0から9までの領域が確保されます。 確保した領域を参照したり取得するにはarray_str()を使用します。 |
str = array_str(index, [配列区分]) array_str(index, [配列区分]) = str |
int index : 使用するインデックス値 <string str>設定した文字列 int 配列区分 : AS0からAS4の区分 (DEF:AS0) |
― | str | str | string型の配列的に値を保持したり取得したり出来ます。 使用する前にcreate_array_str()で領域を確保する必要があります。 例:create_array_str(10); strData = array_str(0); array_str(9) = "test"; |
array_str_save(name, [配列区分]) | string name : リスト名 int 配列区分 : AS0からAS4の区分 (DEF:AS0) |
― | ― | ― | 指定した配列区分のarray_str()の内容をリスト名で保存します。 |
array_str_load(name, [配列区分]) | string name : リスト名 int 配列区分 : AS0からAS4の区分 (DEF:AS0) |
― | ― | ― | 指定した配列区分のarray_str()にリストの内容を読み込みます。 |
array_str_ins(index, [配列区分]) | int index : 挿入する位置(0から) int 配列区分 : AS0からAS4の区分 (DEF:AS0) |
― | ― | ― | array_str()のindex値に行を追加します。 |
array_str_del(index, [配列区分]) | int index :削除入する位置(0から) int 配列区分 : AS0からAS4の区分 (DEF:AS0) |
― | ― | ― | array_str()のindex値の行を削除します。 |
array_str_rota(index1, index2, [配列区分]) | int index1 :入れ替え元(0から) int index2 : 入れ替え先(0から) int 配列区分 : AS0からAS4の区分 (DEF:AS0) |
― | ― | ― | array_str()のindex1の位置の内容とindex2の位置の内容の値を入れ替えます。 |
get_array_str_max([配列区分]) | int 配列区分 : AS0からAS4の区分 (DEF:AS0) <int max>:最大値 |
― | int | ― | array_str()に指定しているリスト数を取得します。 初期化する場合はcreate_array_str()を再度実行すると0行になる。 |
max = init_array_word(data) | string data : テキスト内容 <int max> : ワード数 |
― | int | ― | 文字列をセットします。 セットするとワード単位の配列を作成。 array_word()でワード単位の内容を設定・取得 get_word()で原文の内容から取得できる文字列を取得する。 ※ここでのワードとは主に半角のシステムとか文字列を判断に分解します。 "や'で囲まれている内容は1つのワードと捉えます。 ※全角の分解は行わないので注意。 【使用例】 nMax = init_array_word("<input type=""text"" />"); cell(1,1) = array_word(0); // < cell(2,1) = array_word(1); // input cell(3,1) = array_word(2); // type cell(4,1) = array_word(3); // = cell(5,1) = array_word(4); // "text" cell(6,1) = array_word(5); // /> |
str = array_word(index,[del_kakomi]) array_word(index,[del_kakomi]) = str |
int index : ワードインデックス(0から) int del_kakomi: 囲みを除く(0:除かない 1:囲みを除く) (get時の指定はエラー) <string str>設定した単語 |
― | str | str | init_array_word()で取得したワード単位に値を取得します。 引数del_kakomiは"や'で囲まれたものは1ワードとして扱うが 囲みを外した状態で取得する場合は1を指定する。 囲み内で同囲み文字がある場合は囲み文字を1文字として扱う 【例】 "Yama Tarou"というデータはワードとしては引数del_kakomiが0または指定なしのとき "Yama Tarou"と取得します。 引数del_Kakomiが1の場合はYama Tarouと囲みを外して取得します。 |
str = get_word([index], [su], [trim]) | int index : ワードのインデックス -1:のとき先頭の前余白含む 0からワードインデックス int su : 取得ワード数(-1でindex 以降全文) 未指定のときは1 int trim : 後ろ余白有無 (0=そのまま 1=除く) 未指定のときは1(除く) <string str>単語 |
― | str | ― | init_array_word()で設定された文章をワード単位に取得します。 array_word()での取得の違いは単語間の余白を含めて取得できる点です。 引数なしの場合は設定した値全てを取得します。 【使用例】 nMax = init_array_word() = " <input type = 'text' />"; cell(1,1) = get_word(); // [SPC]<input type = 'text' /> cell(2,1) = get_word(-1,1,0); // [SPC] ※get_word(-1)だと空になります。 cell(3,1) = get_word(0); // < cell(4,1) = get_word(0,2); // <input cell(5,1) = get_word(0,2,0); // <input[SPC] cell(6,1) = get_word(2,3); // type = 'text' |
max = get_word_max() | <int max> ワード最大数 | ― | int | ― | init_array_word()で設定した文字列内で発生したワード数 |
flag = is_word_kakomi() | <int flag> 0=false 1=true | ― | int | ― | init_array_word()で取り込んだ文字列の囲み文字の整合性がとれてない場合は0(false) となります。 例:「備考="abc」の場合はfalse 使い方としてはtrueになるまで次行のデータをunion(data, CRLF, 次行のデータ)という 風に結合した文字列をinit_array_word()にセットしてtrueになるまで組み立てから 各ワード関連の関数を利用するといった使い方を想定してます。。 |
sel_sortcol(col, [type], [order]) | int col : ソートする列 int type : ソートする種類 未指定のときは0(テキスト) int order : 並び順 未指定のときは0(昇順:SORT_ASC) |
○ | ― | ― | 並び順を指定したい列を指定します。 複数指定すると後に指定した列を優先していきます。最大9個まで有効 指定後、sort()で実際に並び替えを実行します。 ■ソート種類(違いは10,1,2をテキストで並べると1,10,2、数値だと1,2,10となる) 0:テキスト(SORT_TYPE_TEXT) 1:数値(SORT_TYPE_NUM) ※データがテキストのときは0扱いします。 ■並び順 0:昇順(SORT_ASC) 1:降順(SORT_DESC) |
sort([start_row], [end_row]) | int start_row : ソートする開始する行 未指定のときは1行目から int end_row : ソートを終了する行 未指定のときは最終行 |
○ | ― | ― | ソートを実行します。 ソートする列の指定(sel_sortcol())が必要です。 ※end_rowはデータの最終行より大きく指定しても最終行までのデータとなります。 ※sel_sortcol()の指定がなくても画面でソートすると指定されたことになります。 ※sort()を実行するとundoは自動的にoffとなります。 |
※配列区分 : 2次元配列的なものというよりarray_strを使用できる個数を増やすという意味のもの(0から4(定数はAS0からAS4を設定))
命令 | 引数 | SHEET 指定 |
G E T |
S E T |
処理内容 |
str = cell(row,col) cell(row,col) = str |
int row : 行 int col : 列 <str str> : セルに設定する値 |
○ | str | str | セルに値をセットまたは取得 |
str = get_cell_text(row, col, [type]) | int row : 行 int col : 列 int type : 種類 (DELで入力値そのものを返す) |
○ | str | ― | セルの値を取得する。 取得のさいの種類を指定できる。 詳細は定数を参照 (例:CELL_TEXT_INPUT, CELL_TEXT_COMMAなど) |
cell_back_color(row,col) = cr cr = cell_back_color(row,col) |
int row : 行 int col : 列 <int cr> : 色(-1のときは設定解除) |
○ | int | int | セルの背景色をセットまたは取得 (取得のときは未指定でもデフォルトの色を返す) |
cell_font_color(row,col) = cr cr = cell_font_color(row,col) |
int row : 行 int col : 列 <int cr> : 色(-1のときは設定解除) |
○ | int | int | セルの文字色をセットまたは取得 (取得のときは未指定でもデフォルトの色を返す) |
cell_keisen(row,col) = 罫線種類 cell_keisen_top(row,col) = 罫線種類 cell_keisen_left(row,col) = 罫線種類 cell_keisen_bottom(row,col) = 罫線種類 cell_keisen_right(row,col) = 罫線種類 ※上記命令は全て値取得も可能 |
int row : 行 int col : 列 <int 罫線種類> 0=なし 1=細線 2=点線 3=太線 |
○ | int | int | セルに罫線を引く。 cell_keisen()はセル全体に罫線を引く (ゲットすると1111という風に左、上、右、下の値を取得) cell_keisen_top()はセルの上に罫線を引く cell_keisen_left()はセルの左に罫線を引く cell_keisen_bottom()はセルの下に罫線を引く cell_keisen_right()はセルの右に罫線を引く |
cell_align(row,col) = 配置 | int row : 行 int col : 列 <int 配置> 0=DEF 1=左詰 2=中央 3=右詰 |
○ | int | int | セルの文字配置(横)をセットまたは取得 0=DEFの場合は数字だと判断すれば自動的に右詰します。 |
cell_valign(row,col) = 配置 | int row : 行 int col : 列 <int 配置> 0=DEF 1=上詰 2=中央 3=下詰 |
○ | int | int | セルの文字配置(縦)をセットまたは取得 |
cell_format_comma(row,col) = 有無 有無 = cell_format_comma(row,col) |
int row : 行 int col : 列 <int 有無> false(0)=無効 true(1)=有効 |
○ | int | int | trueにすると3桁カンマ区切りの数字の書式にします。 falseでデフォルト書式にします。 |
cell_format_date(row,col) = 有無 有無 = cell_format_date(row,col) |
int row : 行 int col : 列 <int 有無> false(0)=無効 true(1)=有効 |
○ | int | int | trueにすると日付型の書式にします。 falseでデフォルト書式にします。 |
cell_format_time(row,col) = 有無 有無 = cell_format_time(row,col) |
int row : 行 int col : 列 <int 有無> false(0)=無効 true(1)=有効 |
○ | int | int | trueにすると時間型(HH:MM)の書式にします。 falseでデフォルト書式にします。 |
cell_format_decimal(row,col) = 小数点桁数 小数点桁数 = cell_format_decimal(row,col) |
int row : 行 int col : 列 <int 小数点桁数(0-5)> |
○ | int | int | 小数点を指定した桁数で表示する書式。 指定した小数点桁数で書式を設定します。 ※指定した桁数より大きい小数点桁数が発生した場合はそのままの値となります。 例:指定桁数が2のとき2と入力すると2.00、2.123と入力すると2.123 |
命令 | 引数 | SHEET 指定 |
G E T |
S E T |
処理内容 |
col_width(col) = width width = col_width(col) |
int col : 列 <int width> : 幅(最小から最大値)以外の数値は最小または最大に変換される |
○ | int | int | 指定の列の幅を設定または取得 |
row_height(row) = height height = row_height(row) |
int row : 行 <int height> : 高さ(最小から最大値)以外の数値は最小または最大に変換される |
○ | int | int | 指定の行の高さを設定または取得 |
ins_col(col) | int col : 列 | ○ | ― | ― | 指定の列に列を追加 |
del_col(col) | int col : 列 | ○ | ― | ― | 指定の列を削除 |
ins_row(row) | int row : 行 | ○ | ― | ― | 指定の行に行を追加 |
del_row(row) | int row : 行 | ○ | ― | ― | 指定の行を削除 |
flag = is_row_view(row) | int row : 行 <int flag> 0=false 1=true |
○ | int | ― | 指定の行が表示か非表示かを判断する。(表示:1(true)、非表示:0(false)) |
命令 | 引数[戻り値] | SHEET 指定 |
G E T |
S E T |
処理内容 |
col = get_cur_col() | <int col> カーソルの列 | ○ | int | ― | マクロ実行時のカーソルの列位置 |
row = get_cur_row() | <int row> カーソルの行 | ○ | int | ― | マクロ実行時のカーソルの行位置 |
max = get_col_max() | <int max> 列の最大数 | ○ | int | ― | 取得時点の列の最大数 |
max = get_col_su(row) | int row : 調べる行 <int max> 指定行の文字列のある列の最大値 |
○ | int | ― | 指定行の文字列のある最大列 |
max = get_row_max() | <int max> 行の最大数 | ○ | int | ― | 取得時点の行の最大数 |
height = get_def_row_height() | <int height> : 行のデフォルトの高さを返します。 | ○ | int | ― | 行高さのデフォルト値を取得 |
max = get_sheet_max() | <int max> シート数 | ― | int | ― | シートの最大数 |
name = get_sheet_name(index) | int index : シートのインデックス(0から) <string name> シート名 |
― | int | ― | 指定インデックスのシートの名前 |
index = get_sel_sheet_idx() | <int index> 選択中のシートインデックス | ― | int | ― | 選択中のシートのインデックス値 |
col = get_sel_left() | <int col> 範囲選択している カーソルの左の列位置 |
○ | int | ― | マクロ実行時の範囲選択したカーソルの左の列位置 |
col = get_sel_right() | <int col> 範囲選択している カーソルの右の列位置 |
○ | int | ― | マクロ実行時の範囲選択したカーソルの右の列位置 |
row = get_sel_top() | <int row> 範囲選択している カーソルの上の行位置 |
○ | int | ― | マクロ実行時の範囲選択したカーソルの上の行位置 |
row = get_sel_bottom() | <int row> 範囲選択している カーソルの下の行位置 |
○ | int | ― | マクロ実行時の範囲選択したカーソルの下の行位置 |
flag = is_num(str) | string str : 数字かどうかチェックする文字列 <int flag> 0=false 1=true |
― | int | ― | 数字かどうかチェック |
para = get_para() | <int para> ブックマクロ実行のパラメータ | ― | int | ― | ブックマクロ実行のボタンオブジェクトで指定する値を取得。 メニュー、ショートカットからの実行は0となります。 |
ran = get_random(hani) | int hani : ランダムの設定する範囲 <int ran> ランダムの値 |
― | int | ― | 引数haniに10を指定すると、返す乱数値は0から9。 引数haniの指定可能な範囲は1から1000000。 |
dbl = round(val, syou, kind) | int val : 浮動小数点数値 int syou : 小数点桁数(0-4) int kind : 0:四捨五入 -1:切捨 1:切上 <double dbl> 指定の小数点の値 |
― | dbl | ― | 小数点の桁数を指定の桁数で四捨五入、切り捨て、切り上げ。 ※注意点、世間でのround()関数の認識は四捨五入だけだと思うが 表次郎内では切り捨て、切り上げも引数でやっている。 覚えてないが多分、roundup、rounddownというのを見て 混ぜても問題ないだろうと判断した命名なんだろう。 |
word = get_keyword(id) | int no : 取得するキーワードのID <string word> キーワード |
― | str | ― | 規定のIDのキーワードとなる固定値を取得する。 詳細は定数側を参照 |
val = get_db_para(id) | int id : 取得するID <int val>idにより返す値は変わる |
○ | int | ― | 指定のIDの内容を取得する。 詳細は定数側を参照 |
命令 | 引数[戻り値] | SHEET 指定 |
G E T |
S E T |
処理内容 |
msg(xxx) | string xxx : 表示するメッセージ | ― | ― | ― | メッセージボックス(情報アイコン)を表示 |
msg_err(xxx) | string xxx : 表示するメッセージ | ― | ― | ― | メッセージボックス(警告アイコン)を表示 |
flag = msg_yesno(xxx) | string xxx : 表示するメッセージ <int flag> Yes=1(true)、No=0(false) |
― | int | ― | メッセージボックス(警告アイコン)を表示、 「はい」「いいえ」の選択を行います。 |
msg_run(xxx) | string xxx : 表示するメッセージ | ― | ― | ― | 実行を中止するかどうか確認メッセージを表示、 「はい」「いいえ」の選択で「いいえ」を選択するとマクロ処理を終了します。 |
quit([シート名],[行],[列]) | string シート名 : 遷移先シート名 ※省略すると遷移なし int 行:遷移後のカーソル行位置 int 列:遷移後のカーソル列位置 |
― | ― | ― | マクロの処理を終了します。 引数にシート名を指定した場合、終了後、対象シートを開く。 該当のシートがない場合はそのまま終了。 ※シート移動なしでカーソル位置を変える場合はシート名に空を指定 ※行のみ指定した場合は列は1列目に移動 |
quit_msg(xxx, [シート名],[行],[列]) | string xxx : 表示するメッセージ string シート名 : 遷移先シート名 ※省略すると遷移なし int 行:遷移後のカーソル行位置 int 列:遷移後のカーソル列位置 |
― | ― | ― | 処理を終了して、メッセージ(情報アイコン)を表示。 処理最後のメッセージの場合、 処理の最後で処理を抜ける必要がなくてもmsg()より こちらを使用することを推奨します。 理由は最後の描画を終えてのメッセージ表示で、中断画面の 表示も無い状態で表示するため。 引数にシート名を指定した場合、終了後、対象シートを開く。 該当のシートがない場合はそのまま終了。 ※シート移動なしでカーソル位置を変える場合はシート名に空を指定 ※行のみ指定した場合は列は1列目に移動 |
quit_msg_err(xxx, [シート名],[行],[列]) | string xxx : 表示するメッセージ string シート名 : 遷移先シート名 ※省略すると遷移なし int 行:遷移後のカーソル行位置 int 列:遷移後のカーソル列位置 |
― | ― | ― | 処理を終了して、メッセージ(警告アイコン)を表示。 処理最後のメッセージの場合、quit_msg()同様の理由より、 msg_err()を推奨します。 引数にシート名を指定した場合、終了後、対象シートを開く。 該当のシートがない場合はそのまま終了。 ※シート移動なしでカーソル位置を変える場合はシート名に空を指定 ※行のみ指定した場合は列は1列目に移動 |
quit_macro(name,[シート名],[行],[列]) | string name : マクロ名 string シート名 : 遷移先シート名 ※省略すると遷移なし int 行:遷移後のカーソル行位置 int 列:遷移後のカーソル列位置 |
― | ― | ― | 処理を終了して指定したマクロ名のマクロを実行。 ただし、1回のみ使用可 引数にシート名を指定した場合、終了後、対象シートを開く。 該当のシートがない場合はそのまま終了。 ※シート移動なしでカーソル位置を変える場合はシート名に空を指定 ※行のみ指定した場合は列は1列目に移動 |
quit_list(name,title,msg) | string name : リスト名 (Max:30文字、"\"文字使用不可) string title : タイトル (Max:30文字、"\"文字使用不可) string msg : メッセージ (Max:50文字、"\"文字使用不可) |
― | ― | ― | 処理を終了してリスト名のファイルを読み込んで QuitList画面に内容を一覧表示します。 QuitList画面はリストの内容に特定のキーワードが記述される 場合、選択したときに該当の動作を行います。 詳細はこちらを参考ください。 QuitList画面は「閉じる」ボタン押下で画面を非表示にしますが メニュー[マクロ]-[QuitList画面の再描画]で再度表示が可能です。 |
yyy = input(xxx, len, init) | string xxx : 表示するメッセージ(Max:50文字) int len : 入力可能な文字数(1-50) string init : 初期値 <string yyy> 入力値 |
― | string | ― | ・入力を促すメッセージ画面を表示。未入力ではエラーとなるので 「キャンセル」した場合は未入力となります。 ・文字数を超える初期値を設定するとエラーとなります。 アプリケーション用マクロで初期値に一番左のシートを初期値 にしたりしていますが長い名前だとエラーになります。 |
input_array_str(title, msg, [配列区分]) | string title : タイトル(Max:30文字) string msg : メッセージ(Max:50文字) int 配列区分(AS0からAS4) (使用するarray_str()の区分) |
― | ― | ― | array_str()に画面から値を設定する。 入力できる文字数は50文字 重複も可能 |
index = select_array_str(title, msg, [配列区分]) | string title : タイトル(Max:30文字) string msg : メッセージ(Max:50文字) int 配列区分(AS0からAS4) (使用するarray_str()の区分) <int index>選択した |
― | int | ― | array_str()の内容をリスト画面で表示して選択したindex値を返す。 キャンセルは-1を返す。 |
命令 | 引数[戻り値] | SHEET 指定 |
G E T |
S E T |
処理内容 |
zzz = union(xxx, y2,[y3],[y4],[y5]) | string xxx, yyyy・・・ : 文字列1から文字列5 <string zzz> 文字列1+文字列2+・・+文字列5 |
― | ― | ― | 2つから5つの文字列の引数を結合 例:引数の数を2から5まで設定可能 str = union("a","b","c","d","e"); str2 = union("A","B"); |
zzz = div(xxx, kgri, iti) | string xxx : 区切り文字を含む文字列 string kgri : 区切り文字 int iti : 位置(0から) <string zzz> 取得した文字列 |
― | string | ― | 区切り文字列から必要な文字列を取り出します。 例:zz = div("AA,BB,CC", ",", 1); 変数zzに"BB"が入る。位置が0だと"AA"、位置が2だと"CC" |
pos = str_find(pos, xxx, find, [種類]) | int pos : 開始位置(0から) string xxx : 検索対象文字列 string find : 検索する文字列 int 種類 : 0=完全一致 1=大文字小文字判断なし <int pos> 見つかった位置(-1のとき該当なし) |
― | int | ― | 文字列から検索する文字列が見つかった位置を返します。 |
zzz = replace(xxx, find, rep, [kind]) | string xxx:置換対象文字列 string find:検索文字列 string rep:findで見つけた文字列を置き換える文字列 int kind:0=完全一致 1=大文字小文字判断なし <string zzz> 置換対象文字列(xxx)を置換後の結果 |
― | string | ― | 置換対象文字列内にある検索文字列で一致する文字列部分をrepで 指定した文字列に置換します。 (同じ文字列があれば全て変換) |
zzz = substr(xxx, 開始位置, [長さ]) | string xxx : 文字列 string 開始位置 : 抜き取る文字の先頭位置(0から) int 長さ : 取得する文字列の長さ (0から1000) ※省略した場合は残り全て <string zzz> 切り取った文字列 |
― | string | ― | 文字列から一部抜き取ります。 注意:改行マークは0x0D,0x0Aですがその途中でも切れますが そのデータ上ではカーソル位置がおかしくなったりします。 一応、保存したり読み込めたりはしましたがそれ以外にも バグを引き起こす恐れがあるので注意ください。 サロゲートペアなんかも同様です。 |
zzz = chg_str(xxx, 変換) | string xxx : 文字列 int 変換 : 変換する種類 0:変換なし 1:大文字 2:小文字 3:全角変換 4:半角変換 5:全角ひらがな 6:全角カタカナ <string zzz> 変換後の文字列 |
― | string | ― | 文字列から指定の文字種に変換 |
ln = length(xxx) | string xxx : 文字列 <int ln> 文字列の長さ |
― | int | ― | 文字列の長さを返します。 サロゲートペア文字は1文字で2とカウントします。 改行文字も2とカウントします。 |
命令 | 引数[戻り値] | SHEET 指定 |
G E T |
S E T |
処理内容 |
next_dt = inc_day(dt, add) | date dt : 対象の日付 int add : 進める日数(-999から999) <date next_dt> 進めた日数の日付 |
― | date | ― | 日付を指定の日数進めます。 0年とか9999年を超えるような日付にはなりません。 |
next_dt = inc_month(dt, add) | date dt : 対象の日付 int add : 進める月数(-999から999) <date next_dt> 進めた月数の日付 |
― | date | ― | 日付を指定の月数で進めます。 0年とか9999年を超えるような日付にはなりません。 |
dt = get_now() | <date dt> 今日の日付(時間あり)を取得 | ― | date | ― | 今日の日付(時間あり)を取得(YYYY/MM/DD HH:MM:SS) |
dt = get_today() | <date dt> 今日の日付を取得 | ― | date | ― | 今日の日付(時間なし)を取得(YYYY/MM/DD) |
yyyy = get_year(dt) | date dt : 日付 <int yyyy> 日付の年 |
― | int | ― | 日付の年を取得 |
mm = get_month(dt) | date dt : 日付 <int mm> 日付の月 |
― | int | ― | 日付の月を取得 |
dd = get_day(dt) | date dt : 日付 <int dd> 日付の日 |
― | int | ― | 日付の日を取得 |
hh = get_hour(dt) | date dt : 日付 <int hh> 時間の時 |
― | int | ― | 時間の時を取得 |
mm = get_minute(dt) | date dt : 日付 <int mm> 時間の分 |
― | int | ― | 時間の分を取得 |
ss = get_second(dt) | date dt : 日付 <int hh> 時間の秒 |
― | int | ― | 時間の秒を取得 |
ww = get_week(dt) | date dt : 日付 <int ww> 日付の曜日番号 |
― | int | ― | 日付の曜日番号を取得。 1=月曜日 2=火曜日 3=水曜日 4=木曜日 5=金曜日 6=土曜日 7=日曜日 |
flag = is_date(str) | string str : 日付かどうかチェックする文字列 <int flag> 0=false 1=true |
― | int | ― | 日付かどうかチェック |
<クリップボードでの前提条件>
区切り文字(デフォルトでTAB)ごとに次のセルに値を設定します。
区切り文字をカンマとかで指定は可能ですがTAB文字は無条件に区切り文字として判定します。
例外としてはclip_board()では区切り文字に関係なく文字列として値を扱います。ただし、TAB文字は半角スペースに置き換えられます。
命令 | 引数[戻り値] | SHEET 指定 |
G E T |
S E T |
処理内容 |
clip_board() = str str = clip_board() |
<string str> クリップボードから取得・設定する文字列 |
― | str | str | 文字列として扱う場合は簡易的にクリップボードとやりとりする命令。 タブ文字は半角スペースで置き換えられる。 |
cb_to_cell(top, left, [bottom], [right]) | int top : 貼り付け開始の行 int left : 貼り付け開始の列 int bottom : 貼り付け終了行 (未指定でクリップボードでの区切り分全行) int right : 貼り付け終了列( (未指定でクリップボードでの区切り分全列) |
○ | ― | ― | クリップボードの内容を指定のセルに貼り付けます。 ※undo_off()を実行しない場合は500KBまで使用可能です。 undo_off()せずに実行すると遅すぎて固まったようになるため。 |
cell_to_cb(top, left, [bottom], [rigth]) | int top : コピー開始の行 int left : コピー開始の列 int bottom : コピー終了行 (未指定でデータ最終行) int right : コピー終了列( (未指定でデータ最終列) |
○ | ― | ― | 指定セルの内容をクリップボードへコピーします。 |
cb_opt(str kugiri, [int 囲み種類],(詳細はこちら) [str 囲み文字], [int 最大サイズ(MB)]) cb_opt_read(※cb_optと同じ引数) cb_opt_write((※cb_optと同じ引数) |
str kugiri : 区切り文字 ※文字列の頭1文字のみ有効 ※空の場合はTABのみ ※TABは区切りとして必須 int 囲み種類 : 囲み文字の設定有無 0=なし 1=全て 2=改行のみ 3=改行、区切等 DEF:2、区切り文字がTAB以外のときDEF:3 str 囲み文字 int 最大サイズ(MB)(0-10)(0は制限なし) デフォルトは5MB |
― | ― | ― | 各種設定を行います。 cb_opt_read()は読込(貼り付け)命令に対しての設定 cb_opt_write()は書込(コピー)命令に対しての設定 cb_opt()は読込・書込の両方に対しての設定 TAB文字は必須で区切り文字と扱います。 区切り文字の指定として""を指定することで |
int nRow, nRowStart, nRowEnd; int nCol, nColStart, nColEnd; cb_create(); nRowStart = get_sel_top(); nRowEnd = get_sel_bottom(); nColStart = get_sel_left(); nColEnd = get_sel_right(); nRow = nRowStart; while(nRow <= nRowEnd) { nCol = nColStart; while(nCol <= nColEnd) { cb_write(cell(nRow, nCol)); nCol = nCol + 1; } nRow = nRow + 1; cb_write_ret(); } cb_commit(); |
命令 | 引数[戻り値] | SHEET 指定 |
G E T |
S E T |
処理内容 |
cb_create() | ― | ― | ― | ― | クリップボードに書き込むための準備を開始します。 |
cb_commit() | ― | ― | ― | ― | クリップボードへの書込を確定します。 |
cb_write(data) | str data : 書込データ | ― | ― | ― | セル単位に書き込む。 |
cb_write_ret(data) | str data : 書込データ | ― | ― | ― | セル単位に書き込む。改行付き |
int nRow, nCol, nColSt; nColSt = get_cur_col(); nRow = get_cur_row(); undo_off(); cb_open(); while(cb_is_eof() == false) { nCol = nColSt; while(cb_is_next_line() == false) { cell(nRow, nCol) = cb_read(); nCol = nCol + 1; } nRow = nRow + 1; } cb_close(); |
命令 | 引数[戻り値] | SHEET 指定 |
G E T |
S E T |
処理内容 |
cb_open() | ― | ― | ― | ― | クリップボードの内容を取得を開始します。 扱うデータはテキストのみ |
cb_close() | ― | ― | ― | ― | クリップボードの内容取得の終了処理を行います。 |
str = cb_read() | <string str>クリップボードの内容取得 | ― | ― | ― | クリップボードの内容を区切りまたは改行単位の文字列を取得。 取得するたびに次の文字列を取得していく。 ※全ての内容を読み終えたら空の文字列を返しますが、 区切りごとに空の場合もあるので実際のデータ有無の判定などは cb_is_eof()やcb_is_next_line()などの関数を使用します。 |
flag = cb_is_eof() | <int flag> 0=false 1=true | ― | int | ― | データの読込が終了したとき1=trueを返します。 cb_open()、cb_read()で使用後に判定が決定します。 |
flag = cb_is_next_line() | <int flag> 0=false 1=true | ― | int | ― | 読み込むデータが改行、終端のときtrueを返します。 ※注意事項として一度使用すると改行の場合は次内容の判定 になります。 |
kind = cb_chk_sep() | <int kind>区切り文字の種類 | ― | int | ― | 読み込んだ内容の区切りの種類を返します。 0 = 下記以外 1 = EOF 2 = 改行文字 3 = 区切り文字 |
size = cb_paste_size() | <int size> クリップボードから読み込んだデータサイズ |
― | int | ― | クリップボードから読み込んだデータサイズを取得。 cb_open()実行後から値取得可能 |