メールに添付されたマクロ ………………………………………………………………………………………… ===== year.def 年表記変換 ===== ; 年表記変換マクロ YEAR.DEF ; (VZ Editor version 1.5/1.6 共通) ; (C) T.Tanomura, 1992/9/15, 1994/3/5 【機能】 年表記を西暦から元号に変換したり、元号から西暦に変換したり、両様 の表記の併記に変換したりします。 【用法】 年表記の上にカーソルを置いてマクロを起動します。1回目は、変換結 果の出力形式のメニューが出ますので、どれかを選択します。 試しに、次の最初の年表記(「1888年」)の上にカーソルを置いてマク ロを起動し、メニューの2番を選択してみてください。その後、マクロを 続けて4回起動してみてください。 1868(明治元年) 1912(大正元)年 1926(昭和元)年 1989(平成元)年 明治27(1894) 【補足】 処理できるのは、1868(明治元)年から2088(平成100)年までです。 年数の記述は、半角数字「0」〜「9」の組合せか「元」(元年)で行い ます。全角数字や漢数字で記述されたものは処理できません。 「年」の文字はあってもなくてもかまいません。 2回目以後の実行時に変換結果の出力形式を変更したいときは、[SHIFT] キーを押した状態でマクロを実行してください。メニューが再び表示され ます。(J-3100、IBM PC でお使いの場合は、マクロ中の「ks&1」という部 分を「ks&3」に書き換えてください。) 1回目からメニューが出ないようにするには、マクロ中の「y="$(1)",」 という箇所を変更してください。n 番目の出力形式を基本とするには、括 弧内の数値を n+1 にします。例えば、3番目の出力形式にしたければ 「y="$(4)",」とします。このようにした場合も、[SHIFT]キーを押して実 行すればメニューを表示させることができます。 「■」の付いた行を変更すれば、元年の出力形式と処理後のカーソル位 置についてカスタマイズすることができます。 * M 89 ^\ "年表記変換" ? . a[, b[, f[, g[, i[, m[, n[, x[, y[, kx[, a-, ; ■ 元年の出力形式(「a-,」なら「平成元」、「a+,」なら「平成1」) b-, ; ■ 処理後のカーソル移動(「b-,」なら下、「b+,」なら右) (cd=='年') ? #s x="0123456789元明治大正昭和平成", &f(cd,x) (r<0) ? >X y="$(1)", (y.0<2 || ks&1) ? { !01 (r<0) ? >Y y.0=r+2, } y=y.0-1, &s &> &f(cd,x) (f=10<r) ? { g=(r-11)/2+1, >A } &n ((n=r)<1868 || 2088<n) ? >X ; 西暦→元号 (n<1912) ? { g=1, m=n-1867, >B } (n<1926) ? { g=2, m=n-1911, >B } (n<1989) ? { g=3, m=n-1925, >B } g=4, m=n-1988, >B :A &f(cd,x+11) (0<=r) ? { #d >A } ; 元号→西暦 (cd=='元') ? m+, ? { &n ((m=r)<1) ? >X } (g==1 && m<46) ? { n=m+1867, >B } (g==2 && m<16) ? { n=m+1911, >B } (g==3 && m<65) ? { n=m+1925, >B } (g==4 && m<101)? { n=m+1988, >B } >X :B &> i-, ; 変換結果を出力 :C &f(cd,x) (0<=r) ? { #g i++, >C } #J (i) { #u } #[ mi[, mi-, (y==1) ? { (f) ? &01 ? &02 } (y==2) ? { &01 '(' &02 ')' } (y==3) ? { &02 '(' &01 ')' } (y==4) ? &01 (y==5) ? &02 mi], (b) ? { r], (cd=='年') ? #d (0) } ? { &x(r]) #x } >Z :X &b(5) :Y &x(r]) :Z y], x], n], m], i], g], f], b], a], &d . 0: &f(cd,x) (0<=r) ? { #s (r) ? . >^ } #d . 1: &?("%d",n) . 2: (a || 1<m) ? r="%4s%d", ? r="%4s元", &?(r,x+8+g*4,m) . * P 1 "【出力形式】",15,5 "1 西暦<->元号" "2 1993(平成5)" "3 平成5(1993)" "4 1993" "5 平成5" *
===== year.def 年表記変換 ===== ; 年表記変換マクロ YEAR.DEF ; (VZ Editor version 1.5/1.6 共通) ; (C) T.Tanomura, 1992/9/15, 1994/3/5, 2019/4/12(新元号対応:mezala) 【機能】 年表記を西暦から元号に変換したり、元号から西暦に変換したり、両様 の表記の併記に変換したりします。 【用法】 年表記の上にカーソルを置いてマクロを起動します。1回目は、変換結 果の出力形式のメニューが出ますので、どれかを選択します。 試しに、次の最初の年表記(「1888年」)の上にカーソルを置いてマク ロを起動し、メニューの2番を選択してみてください。その後、マクロを 続けて4回起動してみてください。 1868(明治元年) 1912(大正元)年 1926(昭和元)年 1989(平成元)年 明治27(1894) 【補足】 処理できるのは、1868(明治元)年から2118(令和100)年までです。 年数の記述は、半角数字「0」〜「9」の組合せか「元」(元年)で行い ます。全角数字や漢数字で記述されたものは処理できません。 「年」の文字はあってもなくてもかまいません。 2回目以後の実行時に変換結果の出力形式を変更したいときは、[SHIFT] キーを押した状態でマクロを実行してください。メニューが再び表示され ます。(J-3100、IBM PC でお使いの場合は、マクロ中の「ks&1」という部 分を「ks&3」に書き換えてください。) 1回目からメニューが出ないようにするには、マクロ中の「y="$(1)",」 という箇所を変更してください。n 番目の出力形式を基本とするには、括 弧内の数値を n+1 にします。例えば、3番目の出力形式にしたければ 「y="$(4)",」とします。このようにした場合も、[SHIFT]キーを押して実 行すればメニューを表示させることができます。 「■」の付いた行を変更すれば、元年の出力形式と処理後のカーソル位 置についてカスタマイズすることができます。 * M 89 ^\ "年表記変換" ? . a[, b[, f[, g[, i[, m[, n[, x[, y[, kx[, a-, ; ■ 元年の出力形式(「a-,」なら「平成元」、「a+,」なら「平成1」) b-, ; ■ 処理後のカーソル移動(「b-,」なら下、「b+,」なら右) (cd=='年') ? #s x="0123456789元明治大正昭和平成令和", &f(cd,x) (r<0) ? >X y="$(1)", (y.0<2 || ks&1) ? { !01 (r<0) ? >Y y.0=r+2, } y=y.0-1, &s &> &f(cd,x) (f=10<r) ? { g=(r-11)/2+1, >A } &n ((n=r)<1868 || 2088<n) ? >X ; 西暦→元号 (n<1912) ? { g=1, m=n-1867, >B } (n<1926) ? { g=2, m=n-1911, >B } (n<1989) ? { g=3, m=n-1925, >B } (n<2019) ? { g=4, m=n-1988, >B } g=5, m=n-2018, >B :A &f(cd,x+11) (0<=r) ? { #d >A } ; 元号→西暦 (cd=='元') ? m+, ? { &n ((m=r)<1) ? >X } (g==1 && m<46) ? { n=m+1867, >B } (g==2 && m<16) ? { n=m+1911, >B } (g==3 && m<65) ? { n=m+1925, >B } (g==4 && m<31) ? { n=m+1988, >B } (g==5 && m<101)? { n=m+2018, >B } >X :B &> i-, ; 変換結果を出力 :C &f(cd,x) (0<=r) ? { #g i++, >C } #J (i) { #u } #[ mi[, mi-, (y==1) ? { (f) ? &01 ? &02 } (y==2) ? { &01 '(' &02 ')' } (y==3) ? { &02 '(' &01 ')' } (y==4) ? &01 (y==5) ? &02 mi], (b) ? { r], (cd=='年') ? #d (0) } ? { &x(r]) #x } >Z :X &b(5) :Y &x(r]) :Z y], x], n], m], i], g], f], b], a], &d . 0: &f(cd,x) (0<=r) ? { #s (r) ? . >^ } #d . 1: &?("%d",n) . 2: (a || 1<m) ? r="%4s%d", ? r="%4s元", &?(r,x+8+g*4,m) . * P 1 "【出力形式】",15,5 "1 西暦<->元号" "2 1993(平成5)" "3 平成5(1993)" "4 1993" "5 平成5" *
> LXerにあるまじき方向へ進んでいます。
> いや,それはまったく正しい方向だと思いますよ.いつも携帯するモノで使えるようにする…これ最高に便利なことですから.(^^)
> 人生の終わりのほうが現実的でしょう(涙)。