0

私は次のコードを持っています:

Function MC() As Object()

Dim RulesList(0 To 10) As Object

Dim Rule
Set Rule = CreateObject("Scripting.Dictionary")
Rule.Add "Sender", "Test"
Rule.Add "Subject", "bbb"
Rule.Add "Folder", "ccc"
Rule.Add "MarkRead", False

Set RulesList(0) = Rule


Set Rule = CreateObject("Scripting.Dictionary")
Rule.Add "Sender", "Java"
Rule.Add "Subject", "bbb"
Rule.Add "Folder", "ccc"
Rule.Add "MarkRead", False

Set RulesList(1) = Rule

Set MC = RulesList

End Function

OutlookVBAで。コードはスローします

"コンパイルエラー:ライン上のアレイに割り当てることができませんSet MC = RulesList

誰かがここで私を助けてくれますか?辞書オブジェクトの配列を作成して返したいのですが。

編集:関数の署名の最後にある()を削除し、Set MC=RulesListの代わりにMC=RulesListを使用することはできますが、呼び出し元の関数でこれを割り当てることはできません。誰かが私にそれを手伝ってくれるように指示できますか?

4

1 に答える 1

0

いくつかのメモ:

Function MC() As Object()
    Dim RulesList(0 To 10) As Object

    Set Rule = CreateObject("Scripting.Dictionary")
    Rule.Add "Sender", "Test"
    Rule.Add "Subject", "bbb"
    Rule.Add "Folder", "ccc"
    Rule.Add "MarkRead", False

    Set RulesList(0) = Rule


    Set Rule = CreateObject("Scripting.Dictionary")
    Rule.Add "Sender", "Java"
    Rule.Add "Subject", "bbb"
    Rule.Add "Folder", "ccc"
    Rule.Add "MarkRead", False
    Debug.Print Rule(1)

    Set RulesList(1) = Rule

    MC = RulesList

End Function

Sub getmc()
    Dim abc
    abc = MC
    Set Rule = abc(1)
    a = Rule.items
    Debug.Print a(0)
End Sub
于 2013-02-02T12:52:13.813 に答える