こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Publicステートメントと標準モジュールについて

標準モジュールを挿入して、変数の前にPublicを宣言してあげると、
どのモジュールからも参照が可能になるのは、本を読んでよく分かったのですが、
「Function」などで関数プロシージャの定義を標準モジュールでする時に、
「Public」があると、なしでは、どういった効果がでるのでしょうか?
本には、ほとんどPublicが宣言されていました。

関数プロシージャを定義する場合は、Publicを付けなくても、
他のモジュール(例えばフォームなど)から参照可能ですよね?

今一、標準モジュールと関数定義、Public変数の関連がわかっていません。

良かったら、アドバイスお願いします。m(__)m

投稿日時 - 2002-07-27 02:54:19

QNo.323291

困ってます

質問者が選んだベストアンサー

>関数プロシージャを定義する場合は、Publicを付けなくても、
>他のモジュール(例えばフォームなど)から参照可能ですよね?

それは関数プロシージャの場合、Publicが規定値だからです。
だから関数名にPublicやPrivateを付けないとPublicとみなされます。
逆に変数はPrivateが規定値になります。

しかしながら規定値に頼ってPublicやPrivateを省略すべきではありません。
なぜなら今のバージョンではこの規定値でも、将来のバージョンでは変わるかもしれません。
そうなるとプログラムが動かなくなるかもしれません。

また、プログラミング技術の面からも関数や変数の有効範囲(スコープ)は小さいほうが良いので、PublicやPrivateで有効範囲を指定すべきです。

この当りのことは、ヘルプでスコープを調べると良いです。

投稿日時 - 2002-07-27 12:21:52

お礼

回答ありがとうございました。
おかげさまで、なぜPublicが指定した方が良いのか理解できました。
明示的に宣言しておいた方が将来を見越してもベターと言う感じですね。
ありがとうございました。

投稿日時 - 2002-07-29 21:13:19

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問