”ToraX” 、”ToraY” 関数の マクロの内部へ入ります。 続き
|
| |
|
Hokokaku() 関数の構造。
ToraX() 関数が仕事をするには。 Hokokaku() 関数の助けが必要です。
Hokokaku() は 2点間の 方向角を求める 関数です。
Hokokaku() の VBA は(図9-1) です。
エクセルファイル 「座標計算シート」 の ビジュアルベーシック の標準モジュール1に
書き込まれています。
「座標計算シート」 を手に入れる方法は最後を見て下さい。
第6回目を参考に VBA エディターを 立上げて (図9-1)の通り キーボードから打ち込んでも
同じ結果が得られます。
|
| 図9-1 |
 |
定
数
の
宣
言
|
一番上の Const pi = 3.14159265358979 はこれから、計算に使う
π (円周率 : パイ) の値をコンピューターに教えています。
「p i 」 は π の仮の名前です。 Module1のVBAプログラムの中で 「p
i 」 とあれば
即座に 3.14159265358979 の数字であると判断します。
π は計算する中で頻繁に使います。 わざわざ pi と名前を付けなくても、
計算のたびごとに 3.14159265358979 と 打ち込んでも良いのですが
めんどくさいのと間違えやすいので
pi = 3.14159265358979 と コンピューターに伝えて、 手間を省いています。
Const pi = 3.14159265358979 の 「Const」 は
コンピューターに 「今から "p i " の 名前に数字をあてはめますよ。」 という命令です。
VBA では 「定数を宣言する」 と 言います。
Const には 決まった約束事が あります。
Const の後には 定数の 名前を 書きます 「p i 」 が 定数の名前です。
名前の 後に =から始まる 数字を 書きます。 = 3.14159265358979 がその部分です。
これで 定数の宣言が終わります。 いったん宣言された名前は たった一つの数字だけを
覚えていて、 名前が Module1のVBA の中で使われるたびに 覚えこんだ数字を呼び出して
計算に使います。
Const pi = 3.14159265358979 と一旦宣言してしまえば。 VBAの途中で 「p
i 」の値を
他の数字に変えることは 許されません。 もし変えようとすると エラーになります。
π=3.14 でも計算は出来ますが 計算精度は保証されません。
少なくても π = 3.14159265358979 くらいは 必要です。
今のコンピュターならこれくらいの数字の計算は楽々やってのけます。
|
|
|
H
o
k
o
k
a
k
u
()
の
登
録
|
Const pi = 3.14159265358979 と 円周率 π の宣言が終わったら。
Hokokaku()関数を 書き込みます。
まず、 2,3行下に Function Hokokaku(dX, dY) As Double と打ち込みます。 (図9-2)
Enter キー と同時に入力が完了して、自動的に End Function が 打ち込まれます。
これで Hokokaku() 関数がVBA に登録されました。 (図9-3)
|
| 図9-2 |
Enter キーをたたくと
|
| 図9-3 |
End Functionが自動的に現れる。
|
F
u
n
c
t
i
o
n
H
o
k
o
k
a
k
u
(
dX,
dY
)
|
Hokokaku(dX, dY) は 2個の座標の方向角を計算する 関数です。
今まで説明してきたように 機械点を中心に 視準点の方位角を計算します。
そして、方向角を求めることで座標の計算が出来ます。
Function Hokokaku(dX, dY) の Functionは 「Hokokaku は VBAで書かれた関数ですよ。」
とコンピューターに教える 命令です。 必ず End Function と伴います。
もし、"End Function"が無ければ。 Hokokaku(dX, dY) がどこで終りかわかりません。
始りの挨拶があって、 終りの「さよなら」があるわけです。
Hokokaku(dX, dY) のカッコの中の dX dY は 「引き数」 と呼ばれる データーです。
方向角を求めるには 機械点座標(X座標、Y座標)、 視準点座標(X座標、Y座標)
のデータが無ければ計算出来ません。
dX dY は (、) で区切ります。 この区切りは 「dX と dY は別のデーターです。」と分ける意味
と 「dX が先で dY が後です。」 と読み取る順番も示しています。
dX=視準点X座標−機械点X座標
dY=視準点Y座標−機械点Y座標 のことです。
第4回目を参照してください。 dXはΔX dYはΔY のことです。
Function Hokokaku(dX, dY) As Double の As Doubleは
計算した方向角は 「倍精度浮動小数点数型 (Double) の数字です」
と宣言しています。
方向角はdX dYの値によってどのような方向角の値になるかわかりません、
このように 自由に変化する数字を 「変数」と呼んでいます。
変数には いろいろな形があります。変数がなんでもありではコンピュータの
計算能力に影響しますので 変数を細かく種類分けして、
不必要な負担を掛けないよう注意してプログラムを組んでいます。
そのために 「変数を宣言する」 必要があります。
方向角は 計算精度を高めるため コンピューターの計算能力を犠牲にして
あえて、倍精度浮動小数点数型 (Double)と言う一番多くの桁数を扱える数字を使っています。
|
|
|
|
次回は Hokokak() の仕組みへと進みます。
|
|
エクセルのファイル 「座標計算シート」 (有料) を用意しました。 (図5-3)
このファイルで ToraX、 ToraY 関数のマクロが完全に表示されます。
● トラバー計算、逆トラバー計算を一つの画面で処理する標準フォーム
● 標準フォームページを即、使うための解説
● VBA による 座標関連関数 のリソース(プログラム)の公開
● Hokokaku(dX, dY)の完全な動作, と記述を含みます。
● リソースの解説のための計算例
● プログラム作成のための補足説明
が含まれています。
この講座は 順次回を重ねていくと 最終的には 「座標計算シート」が出来上がります。
前もって 「座標計算シート」を手元に置かれて 参考にしながら 実際に作動させて
確認していただくと よりいっそう理解しやすいです。
また、本講座と 「座標計算シート」があれば 本格的な、座標計算やVBAの教材としても
十分に活用できるものと考えております。
テキストファイル入手方法は下欄でお確かめ下さい。
|
|
|
|
”エクセル” ファイル 「座標計算シート」 申し込み方法
ファイル代金 ¥2,000円 を下記の銀行に振り込んで下さい。
恐れいりますが、 メールにて
★ ファイルの送り先のメールアドレス
★ あなたの名前 (お名前がわからないと振込みの確認ができません)
以上をお知らせください。
確認ができしだい メールにてファイルを送らせていただきます。
もし、1週間経ってもファイルが届かない場合、お叱りのメールを下さい。直ちに対処いたします。
連絡先メール mt7116@mandala.ne.jp
振込み先
阿波銀行山川支店(店番号406)
普通預金
口座番号 1034509
永井 俊 (ナガイ タカシ)
ファイル代金 ¥2,000円
|
|
|
|
back to room 711 top goto e-school top |
|
|