[解決済み] プロパティの無効な使用 vba クラス
2022-02-02 12:09:56
質問
VBA(Excel)でStudentクラスを以下のように実装しています。
Option Explicit
Private name_ As String
Private surname_ As String
Private marks_ As New Collection
Public Property Get getMean() As Single
Dim sum As Double
Dim mark As Double
Dim count As Integer
For Each mark In marks_
sum = sum + mark
count = count + 1
Next mark
getMean = sum / count
End Property
Public Property Let setName(name As String)
name_ = name
End Property
Public Property Get getName() As String
getName = name_
End Property
Public Property Let setSurname(surname As String)
surname_ = surname
End Property
Public Property Get getSurname() As String
getSurname = surname_
End Property
そして、メインサブに書き込んでいます。
Dim stud1 As New Student
stud1.setName "Andy"
でコンパイルエラーになりました。
stud1.setName "Andy"
: プロパティの使用が無効です。
なぜなんでしょうか?何かアイディアがあれば教えてください。
解決方法は?
これは
プロパティ
(メソッドではありません) を使用する必要があります。
=
を使用して値を適用します。
Dim stud1 As New Student
stud1.setName = "Andy"
ちなみに、簡単のために、同じ名前を
get
と
set
プロパティを使用します。
Public Property Let Name(name As String)
name_ = name
End Property
Public Property Get Name() As String
Name = name_
End Property
を作成し、以下のように使用します。
Dim stud1 As New Student
'set name
stud1.Name = "Andy"
'get name
MsgBox stud1.Name
関連
-
[解決済み] リフレクションを使用して文字列からプロパティ値を取得する
-
[解決済み] VBAを使用してExcelシートの空白でない列の数を求めることができます。
-
[解決済み] フィールドとプロパティの違いは何ですか?
-
[解決済み] Pythonの@propertyデコレーターはどのように機能するのでしょうか?
-
[解決済み] オブジェクトのプロパティを値でソートする
-
[解決済み] 変数を使用してオブジェクトのプロパティに動的にアクセスする
-
[解決済み] プロパティとゲッターとセッターの使い分け
-
[解決済み] Microsoft Excelで正規表現(Regex)をセル内とループの両方で使用する方法
-
[解決済み】Office VBA Editorでコードのブロックにコメントやアンコメントを付ける方法
-
[解決済み】Excel VBAでSelectを使用しないようにする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Excel VBAのByRef引数の型の不一致
-
[解決済み] OutlookでVBAスクリプトを実行しようとすると、「SubまたはFunction not defined」と表示される。
-
[解決済み] Excel VBA "レンジクラスのオートフィルメソッドに失敗しました"
-
[解決済み] オートメーションエラー - 大惨事 EXCEL VBA
-
[解決済み] VBAのコードに「Label Not define」がありますが、これは何ですか?
-
[解決済み] VBA チャートのタイトルを追加する
-
[解決済み] どのようにvbaコードCells.FindによってExcelの列で値を見つけるために
-
[解決済み] Accessからレポートを自動でメール送信
-
[解決済み] あるディレクトリから別のディレクトリにファイルをコピーするVBA
-
[解決済み】VBAは辞書構造を持っていますか?