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で質問しましょう!
似たような質問が見つかりました
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Windows 10 windowsの回復ドライブや復元ポイントを使用した場合の戻る位置を教えてください。 5 2023/08/19 14:52
- Excel(エクセル) excelの列幅高さが勝手に変わる(特定のPCだけ) 8 2022/07/14 16:51
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/01/23 17:13
- Wi-Fi・無線LAN ドコモhome5Gで楽天モバイルのSIMを使う時の設定について 1 2022/08/23 08:58
- Excel(エクセル) エクセルでファイル保存時に複数シートのオートフィルタを全て解除したい 1 2023/05/10 13:23
- その他(Microsoft Office) Excelのマクロについて教えてください。 1 2022/03/25 10:03
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
eclipseのデバッグ中に変数の値...
-
Vba テキストボックス文字を右...
-
ウォッチ式の文字数制限について
-
MATLABのグラフで軸目盛りのフ...
-
三菱タッチパネル小数点以下表...
-
Excel VBA ユーザーフォーム内...
-
VB2005 TextBoxで高さを変更し...
-
複数のコンボボックスの項目の...
-
ラベル内の文字(Caption)を縦...
-
エクセル 画像のプロパティで縦...
-
スプレッドシートの列名変更の...
-
VB.NETでラベルの大きさってど...
-
TextBox内で違う色の文字を表示...
-
ExcelVBA EnableプロパティがF...
-
VBで、TextBoxの反転色を変更し...
-
ダイアログ属性の変更
-
GridコントロールにCheckBoxを表示
-
リッチテキストの折り返しを無...
-
C# DataGridView特定セルの入力...
-
タイピングゲーム作成の基本。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ウォッチ式の文字数制限について
-
eclipseのデバッグ中に変数の値...
-
Vba テキストボックス文字を右...
-
ExcelVBA EnableプロパティがF...
-
VisualStudioのプロパティが表...
-
ラベルを表示したり非表示にし...
-
三菱タッチパネル小数点以下表...
-
ラベルのスクロール(VB)
-
VB.NETでラベルの大きさってど...
-
Excel VBA ユーザーフォーム内...
-
ラベル内の文字(Caption)を縦...
-
ラベルの文字列の長さが変わっ...
-
ACCESSのラベル内データに下線...
-
ACCESSのVisibleについて
-
C# DataGridView特定セルの入力...
-
MATLABのグラフで軸目盛りのフ...
-
エクセル 画像のプロパティで縦...
-
Notepad++のコメントの色を変え...
-
C#初心者です。チェックボック...
-
TextBox内で違う色の文字を表示...
おすすめ情報