0

このコードは数日間機能し、辞書をうまくループしていました。ループが壊れ始めました。辞書に余分なキーがあり、それらがどこから来たのかわかりません。

次のスクリプトを使用して scripting.dictionary を作成しています。

Dim riskDict As New Scripting.Dictionary

その後、時計に見られるように、オブジェクトは空です。

ここに画像の説明を入力

次に、最初のキーとアイテムのペアを追加します。

riskDict.Add "Weight", Array("WP", 0)

この 1 行のコードを実行すると、次のようになります。

ここに画像の説明を入力

この 2 つの余分なキー (アイテム 2 と 3) はどこから来たのですか?! 後で私のコードで使用するので、これは問題です:

For Each key In riskDict
    temp = riskDict(key)
    ...
Next key

そして、空のキーを参照し始めるため、このループは壊れます。これは今まで発生していなかったようで、コードは数日間正常に動作しています。(コードの他の部分をいくつか変更しましたが、これとはまったく関係ありません。)

私がばかげたことをしている、または明らかな何かを見逃している場合はお知らせください。ありがとうございます!

4

1 に答える 1