1.アルファベットアトランダム入力解説
|
戻る |
悪児の「アルファベットランダム入力マクロ」(以下A)と、
くまぷーさんの「Main」(以下K)の違いは、次の点です
。 |
1.Kは、カーソルをJump()で、直接目的地に移動させている。
Aは、カーソルをJump()で一旦行の先頭に移動させ、
そこから、セル単位で移動させる関数RightCell()を
使って、目的地まで、移動させている。
2.データを消去するのに、Kは、Delete()、Aは、Clear()を使っている。
3.範囲指定の方法が、Kは、SelectRangeStart()を使い、
Aは、RangeMode()-RangeStart()-RangeEnd()を使っている。
4.罫線表内を次行の先頭に移動するのに、
Kは、DownCell()& LeftCell(11)
Aは、NextLine()& RightCell()を使っている。
5.Randomize(ThisTime())を、
Kは、ループ内に置き、Aはループの外に置いている。
|
| 違いの理由 |
1.一太郎マクロでは、Jump()は、ちょっと怖いのです。
予期せぬ誤動作の元になることがあります。
文字数で位置を指定するのですが、
プロポーショナルフォントが導入されて以来、
フォントに左右されるようになってしまいました。
特に罫線表では、1つのセルに入る文字数が、
フォントによって変わってしまうので、
入る文字によって、ジャンプ位置が微妙にずれ、
それが誤動作につながる可能性があるのです。
(実例は、2.文字列取得 のところで紹介します)
従って、悪児は、罫線セル内の移動は、
Jump()は、行単位までにして、あとはセル間の移動を
使うようにしています。
2.セル単位で範囲指定するとDeleteでも文字だけ消えますから、
全然問題ありませんが、セル単位の範囲指定が出来るように
なったのが、比較的新しく、それ以前は、ブロック単位で
範囲指定して、Clear()を使うしかなかったので、
それを使っています。
3.も、歴史的な問題ですね。一太郎マクロが出来たときは、
まだ一太郎は、Windowsではなく、JustWindowを
プラットフォームにしていて、その頃は、Aの方法だけでした。
それが、Windows版がでると共に、Kの方法が追加されたのですが、
悪児は、Aの方法で慣れてしまっているので、こっちを使っています。
Kの方が、1つの関数で済みますから、
こっちの方が楽なんですが。(^^;)(^^;)
4.ちょっとだけ、Aの方が、早いですね。(^^)ゞ
NextLine()は、罫線表ではないところでも、
とても便利に使えますから、
最小限覚えるべき関数に入ると思います。
5.これは、よく分からないのですが、
Kの形だと、同じ時刻なら、いつも同じ数字になるんでは?
と思って、Aの形にしていますが、
Kで、Randomize(1)にしても、セルには、色々なアルファベットが
入ります。一体、Randomize()の意味は、なんなんでしょう?
|