名前を"宮本 武蔵"、
としましょう。結果は当然"宮本"と
なるようにマクロ(プログラム)を作れば良いのです。
マクロは次のように書きます。
@ function prog3(name as variant) as variant
A prog3 = mid(name,1,2)
B end function
このように3行で、氏名の姓をとりだすことができます。
@行目とB行目はマクロの基本的な書き方です。だいたいこのように書きます。
Aは、マクロの目的とするプログラミングです。(mid)と呼ばれるVBがもっている内部の関数です。
(name)の文字列から先頭の1文字目から2文字を抽出する。
抽出した結果、関数名(prog3)に結果を納(=)めれば出来上がりです。
…?
姓の文字が"佐々木"だったらこのマクロは"佐々"の2文字しか抽出してくれない。
このマクロは不完全(姓が2文字の時だけ)うまく操作してくれますが、その他の場合はうまくいきません。
今回は、これで我慢しましょう。のちに、完全になるよう学びます。
内部関数 mid
mid(mojiretu,n,m) はmojiretuのn文字目からm文字を抽出する関数。
mid(mojiretu,n)はmojiretuのn文字目以降を抽出する関数。
例)
mojiretu="abcdefg"
moji=mid(mojiretu,3,2)
この結果、moji には、"cd"の2文字が抽出される。
例)
mojiretu="0123456789"
moji=mid(mojiretu,4)
この結果、moji には、"3456789"の7文字が抽出される。