![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.4ベストアンサー
- 回答日時:
> このDictionaryをリストとして表示させたいのですが、
> JavaのListModelのようにデータの変更があるごとに
> 項目が置き換わるようなことは可能でしょうか。
調べてみましたが、同じようなものは残念ながらないようです。
クラスを定義してwrappingするという手もExcel VBAだと使えないので
さてどうしたものでしょうか。
無理やりですが、ひとつモジュールを割いて、そのモジュールのみで
辞書が見えるようにしておき、辞書に対する操作はそのモジュール
内の手続きを通して行うようにするというのはどうでしょうか?
自前で情報を管理することになりますが、更新を検知することは
できますので、それで処理の引き金にすることはできるのではないかと。
sakusaker7さん、ありがとうございました。
何とか教えていただいた既存の機能の中で、うまく立ち回って補いたいと思います。
今後も何かありましたら、よろしくお願いいたします。
No.3
- 回答日時:
「JavaのHashTable」のようなものということなら、こういうものがあります。
Dim vKey
Dim sItem, sMsg
Dim oDict
Set oDict = CreateObject("Scripting.Dictionary")
oDict.Add "One", "Engine"
oDict.Add "Two", "Wheel"
oDict.Add "Three", "Tire"
oDict.Add "Four", "Spanner"
For Each vKey in oDict
sItem = oDict.Item(vKey)
sMsg = sMsg & sItem & vbCrLf
Next
MsgBox sMsg
辞書から削除するには
oDict.Remove "KEY"
のように Remove メソッドを使います。
この回答への補足
sakusaker7さん、ありがとうございます。
なんとか希望通りの動作をさせることができました。
さて、続いて質問させていただきたいのですが、
このDictionaryをリストとして表示させたいのですが、
JavaのListModelのようにデータの変更があるごとに
項目が置き換わるようなことは可能でしょうか。
重ねての質問で恐縮ですが、何卒お願いいたします。
No.2
- 回答日時:
再度の登場です。
ReMoveメソッドを使うなら、Collectionオブジェクトもあります。
-----------------------------------------------------
Sub Test()
Dim R, Msg
Dim myCol As New Collection
myCol.Add "AAA"
myCol.Add "BBB"
myCol.Add "CCC"
Msg = Msg & myCol.Count & Chr(10)
For Each R In myCol
Msg = Msg & R & Chr(10)
Next R
myCol.Remove 2 '●2番目の要素”BBB”を削除
Msg = Msg & myCol.Count & Chr(10)
For Each R In myCol
Msg = Msg & R & Chr(10)
Next R
MsgBox Msg
End Sub
-------------------------------------------------------
なぜ質問のようなことが必要なのか少し具体的に提示すると
より的確な回答が寄せられると思います。
onlyromさん、ありがとうございました。
御礼が遅れてしまい、大変申し訳ありませんでした。
いただいた回答を元に、工夫してみたいと思います。
また何かありましたら、何卒よろしくお願いします。
No.1
- 回答日時:
こんにちは。
Javaにはとんと無知ですが回答がないようなので。
>redim Preserveなどで、追加することはできても
>removeしたときにサイズがその分縮小されるような機能を
ReDimは配列変数に動的にメモリ領域の再割り当てを行うものですから
当然、増だけではなく、減もできるわけですよね。
-------------------------------------------------------
Sub Test()
Dim Msg As String
Dim R As Integer
Dim N As Integer
Dim myArray()
N = 3
ReDim myArray(N)
For R = 0 To N
myArray(R) = R + 1000
Next R
N = 5
ReDim Preserve myArray(N)
For R = 4 To N
myArray(R) = R + 5000
Next R
'------------------------------
'配列を1つ少なくする
N = N - 1
ReDim Preserve myArray(N)
'-------------------------------
For R = LBound(myArray) To UBound(myArray)
Msg = Msg & R & " " & myArray(R) & Chr(10)
Next R
MsgBox Msg
End Sub
----------------------------------------------------------------
勘違いしてましたら平にご容赦願います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 15:14
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Visual Basic(VBA) ExcelVBAで質問です。離れた二次元配列を一つにしたい 4 2022/07/26 19:06
- Java mac mini 2009 でのmac OS における Java の入れ替えについて 1 2022/12/27 19:23
- WordPress(ワードプレス) Wordpressをハッキングされない方法 4 2022/06/11 04:15
- その他(ブラウザ) Twitterの「返信をさらに表示」 ボタンの後ろに隠れているツイートを常に表示 1 2023/08/04 12:20
- Excel(エクセル) win10でexcel2003は動かないのか 8 2023/07/20 10:15
- Photoshop(フォトショップ) 写真のサイズ変更 1 2022/08/07 16:00
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
共通モジュールでDBへの接続と...
-
[VBA] Classから他のClassを呼...
-
VB.netで、動的な型変換を行い...
-
他のモジュールのプロシージャ...
-
WPFでCanvas の子要素にアクセ...
-
用語の意味の違いを教えてくだ...
-
Mapに登録した値を登録した順に...
-
Excel vbaで複数のテキストボッ...
-
worksheetFunctionクラスのVloo...
-
パソコンへの「Dropbox...
-
実行時エラー 438になった時の...
-
VBA シートのボタン名を変更し...
-
ユーザーフォームを表示中にシ...
-
VBA(エクセル)で自動的にボタン...
-
【C#/Java?】try-catchでcatch...
-
Form_Load と Form_Activate の...
-
vbaのエラー対応(実行時エラー...
-
Vba テキストボックス文字を右...
-
IF文に時間(何時から何時ま...
-
「Columns("A:C")」の列文字を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
共通モジュールでDBへの接続と...
-
[VBA] Classから他のClassを呼...
-
コンポーネント指向って、どの...
-
他のモジュールのプロシージャ...
-
用語の意味の違いを教えてくだ...
-
Excel vbaで複数のテキストボッ...
-
VB.netで、動的な型変換を行い...
-
VB.NETにて文字列で指定した関...
-
WPFでCanvas の子要素にアクセ...
-
VBAで、Functionを、クラスモジュール...
-
(初歩)インスタンス化の負担と...
-
Form2の変数をForm1に渡す方法...
-
バウンドプロパティとは?
-
VB ブラウザ
-
VB6で外部から静的アクセスが可...
-
Python クラスとモジュールの...
-
VBA オブジェクト追加
-
ExcelVBAでJavaのHashtableのよ...
-
'StructLayout' の仕様について
-
【JSF】バッキングビーンから別...
おすすめ情報