dポイントプレゼントキャンペーン実施中!

Excel VBAのPropertyプロシージャについてご質問します。
Propertyプロシージャはどういったときに使うものなのでしょうか?

解説本には設定値の保存だけではなく、プロパティの設定時にコードを実行させることが可能、とあります。
ですが、設定値の保存だけでよければ(コードは実行しない)、設定値を保存するPrivate変数を用意して、そこに設定するPublic関数を用意すれば事が足りる気がします。
また、いろんなサイトを見て回ると「読み取り専用のプロパティにもできる」とありますが、それだとどんな使い道があるのかというのがピンときません。

どのようなときにPropertyプロシージャを使うべきで、そうしたほうがいい理由を教えてください。
よろしくお願いします。

A 回答 (2件)

例えば、Seirekiプロパティに "20070312" をセットすると


西暦・和暦変換処理のコードを実行して Warekiプロパティに
"平成19年 3月12日"をセットするといった使い方をします。
この時、Warekiプロパティを読取り専用のプロパティと
にできます。
変数の受渡しに直接Public変数でなくプロパティを介する事で
実際に使用している変数名とは異なった解かり易いプロパティ
名を使える様になります。
また、無秩序に変数を追加・修正・削除できると、モジュール内
で使用している変数名等全てを把握していないとプログラムが
作れないといった事や、修正等で他のモジュールとの互換性を
保つのが難しくなります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
No.2のお礼では失礼いたしました。

ご回答を拝見して、
Public関数もしくは変数では、どのモジュールで使用するものかわかりにくい(命名に気を使わねばならない)。
プロパティにすることで、どのモジュールのものかが明確になる。
という風に理解したのですが、よろしいでしょうか?

もし違いましたら、ぜひご指摘をお願いいたします。
ありがとうございました。

お礼日時:2007/03/13 00:24

直接変数に入力せずプロパティを介する事で、入力


チェックを行って、エラー値を排除できます。

この回答への補足

質問者です。
大変申し訳ありません。
No.2のご回答を先に読んでお礼を書いてしまったため、
重複した補足をお願いしてしまいました。
申し訳ございませんでした。

補足日時:2007/03/13 00:16
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
コードを実行できることから、確かにそういう利点がありそうですね。
ただ、それなら関数を介して変数を入力しても同じことができそうですし、
あえてPropertyプロシージャをつかう利点はなにでしょうか。
もしよろしければ補足いただけると幸いです。

お礼日時:2007/03/13 00:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!