
Excel VBAのPropertyプロシージャについてご質問します。
Propertyプロシージャはどういったときに使うものなのでしょうか?
解説本には設定値の保存だけではなく、プロパティの設定時にコードを実行させることが可能、とあります。
ですが、設定値の保存だけでよければ(コードは実行しない)、設定値を保存するPrivate変数を用意して、そこに設定するPublic関数を用意すれば事が足りる気がします。
また、いろんなサイトを見て回ると「読み取り専用のプロパティにもできる」とありますが、それだとどんな使い道があるのかというのがピンときません。
どのようなときにPropertyプロシージャを使うべきで、そうしたほうがいい理由を教えてください。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
例えば、Seirekiプロパティに "20070312" をセットすると
西暦・和暦変換処理のコードを実行して Warekiプロパティに
"平成19年 3月12日"をセットするといった使い方をします。
この時、Warekiプロパティを読取り専用のプロパティと
にできます。
変数の受渡しに直接Public変数でなくプロパティを介する事で
実際に使用している変数名とは異なった解かり易いプロパティ
名を使える様になります。
また、無秩序に変数を追加・修正・削除できると、モジュール内
で使用している変数名等全てを把握していないとプログラムが
作れないといった事や、修正等で他のモジュールとの互換性を
保つのが難しくなります。
ご回答ありがとうございました。
No.2のお礼では失礼いたしました。
ご回答を拝見して、
Public関数もしくは変数では、どのモジュールで使用するものかわかりにくい(命名に気を使わねばならない)。
プロパティにすることで、どのモジュールのものかが明確になる。
という風に理解したのですが、よろしいでしょうか?
もし違いましたら、ぜひご指摘をお願いいたします。
ありがとうございました。
No.2
- 回答日時:
直接変数に入力せずプロパティを介する事で、入力
チェックを行って、エラー値を排除できます。
この回答への補足
質問者です。
大変申し訳ありません。
No.2のご回答を先に読んでお礼を書いてしまったため、
重複した補足をお願いしてしまいました。
申し訳ございませんでした。
ご回答ありがとうございます。
コードを実行できることから、確かにそういう利点がありそうですね。
ただ、それなら関数を介して変数を入力しても同じことができそうですし、
あえてPropertyプロシージャをつかう利点はなにでしょうか。
もしよろしければ補足いただけると幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
eclipseのデバッグ中に変数の値...
-
ウォッチ式の文字数制限について
-
Vba テキストボックス文字を右...
-
MATLABのグラフで軸目盛りのフ...
-
エクセル 画像のプロパティで縦...
-
ダイアログ属性の変更
-
ACCESSのラベル内データに下線...
-
VB.NETでラベルの大きさってど...
-
VBで横倍角/縦倍角を表示したい...
-
0での割り算
-
スプレッドシートの列名変更の...
-
ラベルの大きさを変えるには
-
(Excel 2003) マクロでワー...
-
VBAでMultiPageの色の設定方法は?
-
三菱タッチパネル小数点以下表...
-
ExcelVBAのコントロールの種類...
-
VBA シートのボタン名を変更し...
-
Microsoft Formsの「個人情報や...
-
worksheetFunctionクラスのVloo...
-
VBAがブレークモードになっ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ウォッチ式の文字数制限について
-
eclipseのデバッグ中に変数の値...
-
Vba テキストボックス文字を右...
-
ExcelVBA EnableプロパティがF...
-
ラベルの文字列の長さが変わっ...
-
Notepad++のコメントの色を変え...
-
VB2005 TextBoxで高さを変更し...
-
VisualStudioのプロパティが表...
-
MATLABのグラフで軸目盛りのフ...
-
ラベルを表示したり非表示にし...
-
ラベル内の文字(Caption)を縦...
-
スプレッドシートの列名変更の...
-
VBSのMsgBoxで文字に色をつけたい
-
VB.NETでラベルの大きさってど...
-
セレクトボックスのハイライト...
-
三菱タッチパネル小数点以下表...
-
ACCESSのラベル内データに下線...
-
ラベルのスクロール(VB)
-
(Excel 2003) マクロでワー...
-
エクセルで図形のキャプション...
おすすめ情報