// うるう年の判定 function isLeapYear(y){ if(y % 4){ return false; }else if(y % 100){ return true; }else if(y % 400){ return false; }else{ return true; } } // 月の日数 function maxDate(y, m){ if(m == 4 || m == 6 || m == 9 || m == 11){ return 30; }else if(m == 2){ if(isLeapYear(y)){ return 29; }else{ return 28; } } return 31; } // yyyy/mm/dd 形式にフォーマット function format(y, m, d){ if(m < 10){ m = "0" + m; } if(d < 10){ d = "0" + d; } return y + "/" + m + "/" + d; } B = Bottom; // 54 列目の「yyyy年mm月dd日」を「yyyy/mm/dd」にする。 // 「お届け指定なし」を削除する。 x = 54; for(y=1; y<=B; y++){ str = [x,y]; nen = pos(str, "年"); gatsu = pos(str, "月"); hi = pos(str, "日"); if(nen > 0 && gatsu > 0 && hi > 0){ year = int(mid(str, 1, nen - 1)); month = int(mid(str, nen + 1, gatsu - nen - 1)); date = int(mid(str, gatsu + 1, hi - gatsu - 1)); [x,y] = format(year, month, date); }else{ str = replace(str, "お届け指定なし", ""); [x,y] = str; } } // 16 列目に今日の日付を設定する year = GetYear(); month = GetMonth(); date = GetDate(); x = 16; for(y=2; y<=B; y++){ [x,y] = format(year, month, date); } // 54 列目が空欄の場合、明日の日付を設定する date++; if(date > maxDate(year, month)){ date = 1; month++; if(month > 12){ month = 1; year++; } } x = 54; for(y=2; y<=B; y++){ if([x,y] == ""){ [x,y] = format(year, month, date); } }