【 質問箱 No.79 回答 】その2. ⇒⇒⇒⇒ 質問箱 No.79(98年6月号)の趣旨   質問者:西 村 重 幸 <当番カレンダーを作成したい> 回答者:高 橋 周 助 【プログラム】 3行目で、V10に西暦年指定して、RUN。 /******** A.西暦年指定 **********/**********************************/ LET V10="1999"; LET Z10=VAL(V10) /******** B.縦長カレンダー作成 ************************************/ /** B-A.必要項目列指定 *************************************/ O;カレンダ;8;年月日;2;曜;4;当番;;ESC; /** B-B.必要日数分の行数挿入 *******************************/ LET Z11=Z10*10000+101; /*当該年の元日 */ LET Z12=(Z10+1)*10000+101;/*翌 年お元日 */ LET Z5=DATE(Z11,Z12); /*当該年の日数=挿入行数*/ INFO;S;36; IR;S;H;%Z5; /** B-C.年月日書込 *****************************************/ ATR;N;D;@年月日 ; SET;S;M;6; ;;; NUM;M;C;@年月日 ;H;%Z11;1; /** B-D.曜日書込 *******************************************/ CAL;@年月日 MOD 7=@曜 ; MPU;M;;@曜 =0;"日"=@曜 ; @曜 =1;"月"=@曜 ; @曜 =2;"火"=@曜 ; @曜 =3;"水"=@曜 ; @曜 =4;"木"=@曜 ; @曜 =5;"金"=@曜 ; @曜 =6;"土"=@曜 ; E;Y; /** B-E.当番書込 **********************************************/ LET Z5=DATE(19980101,Z11);/*1998年元日から当該年元日までの日数*/ LET Z5=Z5 MOD 15; LET X5=INTG(Z5); IF X5=0 THEN LET X5=15; IR;S;H;%X5; /* ダミー行挿入 */ NUM;M;C;@当番 ;H;1;1/15;C; /* 当番決定 */ DR;H,%(H+X5-1);Y; /* ダミー行削除 */ /******** C.月別にグループ分け *************************************/ ATR;R;@年月日 ; NF;S;@年月日 ;4/2/2; W;2;;年;月;日;ESC; DC;@年 ;Y; DRL;C;A; DC;1/T;Y; CAL; @日 =@日 ; GROUP;M;K;@月 ;;WK/D; /******** D.横長表に編集 ******************************************/ G;WK/1; INFO;S;200; FOR X1=2 TO 12; CA;M;WK/%X1;1,T;S1;;; NEXT DC;@月 ;Y; DC;1;Y; DRL;C;1; DRL;C;N; CT; %V10年 当番カレンダー; G/S; 1998年 当番カレンダー/1; DR;1,2;Y; CPR;S1,4;1; /******** Z.終わり ************************************************/ STOP;