// space = " "; // 全角スペース
space = " "; // 半角スペース×2
l_num = prompt( "セル行数を入力して下さい", "2" );
c_num = prompt( "セル列数を入力して下さい", "2" );
cl_num = prompt( "セル内の行数を入力して下さい", "1" );
cc_num = prompt( "セル内の列数(全角文字換算)を入力して下さい", "1" );
l_op = prompt( "線種を選んで下さい(1:普通 2:外枠だけ太く 3:太く)", "1" );
if( l_op == 3 ){
MatrTop = "┏" + rep((rep("━", cc_num) + "┳"), c_num-1) + rep("━", cc_num) + "┓" + "\n";
MatrInt = "┃" + rep((rep(space, cc_num) + "┃"), c_num-1) + rep(space, cc_num) + "┃" + "\n";
MatrMid = "┣" + rep((rep("━", cc_num) + "╋"), c_num-1) + rep("━", cc_num) + "┫" + "\n";
MatrBom = "┗" + rep((rep("━", cc_num) + "┻"), c_num-1) + rep("━", cc_num) + "┛" + "\n";
} else if( l_op == 2 ){
MatrTop = "┏" + rep((rep("━", cc_num) + "┯"), c_num-1) + rep("━", cc_num) + "┓" + "\n";
MatrInt = "┃" + rep((rep(space, cc_num) + "│"), c_num-1) + rep(space, cc_num) + "┃" + "\n";
MatrMid = "┠" + rep((rep("─", cc_num) + "┼"), c_num-1) + rep("─", cc_num) + "┨" + "\n";
MatrBom = "┗" + rep((rep("━", cc_num) + "┷"), c_num-1) + rep("━", cc_num) + "┛" + "\n";
} else {
MatrTop = "┌" + rep((rep("─", cc_num) + "┬"), c_num-1) + rep("─", cc_num) + "┐" + "\n";
MatrInt = "│" + rep((rep(space, cc_num) + "│"), c_num-1) + rep(space, cc_num) + "│" + "\n";
MatrMid = "├" + rep((rep("─", cc_num) + "┼"), c_num-1) + rep("─", cc_num) + "┤" + "\n";
MatrBom = "└" + rep((rep("─", cc_num) + "┴"), c_num-1) + rep("─", cc_num) + "┘" + "\n";
}
MatrInt = rep(MatrInt, cl_num);
document.selection.Text = MatrTop + rep(MatrInt + MatrMid, l_num-1) + MatrInt + MatrBom;
function rep(Chara, N){
//文字列Charaを、N回繰り返します。
tmp = "";
if ( N < 1) {
return tmp;
} else {
for( i=1; i<=N; i++ ){
tmp = tmp + Chara;
}
return tmp;
}
}
KAJIKA's TOWNからのほぼ流用です。 言語をJavaScriptととし、対話形式でサイズを設定できます。