Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7341 / 76732 ←次へ | 前へ→

【74979】Re:クラスモジュール内のユーザ定義型変数について
お礼  KJ  - 13/11/5(火) 9:24 -

引用なし
パスワード
   ▼Abyss さん:

レスが遅くなってしまい、申し訳ございませんでした。

>ご説明のイメージがよく浮かびませんが、
>文法としてのクラスは、Propertyを使って
>以下のようにすれば良いと思います。
>
>'----<クラスモジュール>----
>Private mTypeValue As SomeType
>
>Public childObj As Class1
>Public depth As Long
>
>Private Sub Class_Initialize()
>  ' 無意味
>  'depth = 0
>  'With typeValue
>  '  .num = 0
>  '  .chars = ""
>  'End With
>End Sub
>
>Public Property Let typeValue(RHS As SomeType)
>  mTypeValue = RHS
>End Property
>
>Public Property Get typeValue() As SomeType
>  typeValue = mTypeValue
>End Property

実は、スレッドを立てた後に気付いたことですが、
ユーザー定義型内に、オブジェクト(クラスインスタンス)を含んでおりまして、
たとえば、
Public Type SomeType
  dim innerObj as Object
  dim depth as Long
End Type
などとしていて、一度はプロパティでの作成も試みたのですが、
withブロックを使用するとうまくいかないこともあり、
(もちろん、Setステートメントは使用していました。)
まずは1つ目の問題として、ご質問させていただいた次第です。
(上の文法が間違っているかもしれません。
休み明けで記憶が定かではない状態ですので、ご容赦ください。)

もう一度構造を見直し、
「きれいに見せようとする、整理された状態にする」ことより、
「まず動くもの」としてコーディングしていきたいと思います。


>
>' ↓↓ このメソッドって未完成品??
>
>Public Function createNestObj(childValue As SomeType) As Class1
>
>  Dim newValue As New Class1
>  With newValue
>    With .typeValue
>      .num = childValue.num + 1
>      .chars = childValue.chars & "a"
>    End With
>    .depth = Me.depth - 1
>    Set .childObj = Me
>  End With
>
>End Function
>'----------------
上記で記したものは、確かに未完成品です。

一応、社内業務内での躓きに関して、ご質問させていただきましたので、
(社内の周囲に、これらについて詳しい人がいなかったため)
同様の現象が生じる状況を再度作成させていただいた次第です。
(それに、他の箇所もコード量が多く、簡潔に質問させていただくにあたり、
このような処置が必要であったと考えたため、意味を正しく持たないコードで
質問させていただきました。)

結局は、ユーザー定義型を使用してきれいに(整理されているように)見せたい
一心で今回の質問をさせていただきましたので、
まずは(Typeを使用せずに)正常に動作するものを(多少見づらくても)作成し、
それから手直しの時間があれば、今回の問題についての再考察を
しようと思います。

貴重なお時間、ありがとうございました。

420 hits

【74956】クラスモジュール内のユーザ定義型変数について KJ 13/10/31(木) 17:37 質問
【74957】Re:クラスモジュール内のユーザ定義型変数... γ 13/10/31(木) 21:42 発言
【74958】Re:クラスモジュール内のユーザ定義型変数... Abyss 13/11/1(金) 1:32 発言
【74979】Re:クラスモジュール内のユーザ定義型変数... KJ 13/11/5(火) 9:24 お礼
【74978】Re:クラスモジュール内のユーザ定義型変数... KJ 13/11/5(火) 9:06 お礼

7341 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free