私のプログラムの特定のサブの中でクラス "Dog"のインスタンス "Lassie"を作成しました。私はLassie.Age = 7やLassie.HeelCapability = Falseのような有用なプロパティも与えました。VBA [クラス] - 別のサブのクラスのインスタンス化されたインスタンスにアクセスする方法
subにアクセスして、Lassie.HeelCapabilityをTrueに変更したいとします。 この新しいサブの中でインスタンス "Lassie"を定義するにはどうすれば作業できますか?
私はaccrossはこのようになってきたすべてのコード:
基本的にDim Lassie As classDog
Set Lassie = New classDog
私が探しています何がキーワードを使用せずに、別のサブに既存のインスタンス「名犬ラッシー」をインポートする方法です「新」以前に与えられたすべての特性を持たずに新しい "ラッシー"を作成する。
私が受け取っているエラーメッセージは、「オブジェクトが必要です」または「オブジェクト変数かブロック変数が設定されていません」と伝えています。
確かにこれを行う方法があります。
ありがとうございます。
+1新しいVBAプログラマーの質問へのほとんど正解です。私はあなたの答えを編集しました。オブジェクト参照では、基本オブジェクトに加えられた変更について、ByValまたはByRefを渡すかどうかは関係ありません。 'OtherSub'は、' ByVal'が渡されても渡される 'classDog'のインスタンスを変更することができます。この場合、 'ByVal'は' OtherSub'がパラメータ 'dog'を' classDog'の別のインスタンスに 'Set'するのを防ぎます。 – jtolle
@jtolle説明していただきありがとうございます。毎日何か新しいことを学ぶ:) –