我在VBA中有以下代码,我正在尝试捕获由第一个函数Parent返回的字典对象,该行显示为“Set Parents = Parents()”,但我一直得到Argument不是可选错误。
互联网上的每个人都说这通常是因为缺少Set关键字,但在这种情况下却没有。非常感谢任何帮助,谢谢!
require( dirname( __FILE__ ) . '/wp-load.php' );
答案 0 :(得分:0)
我建议将你的函数更改为sub并将预先声明的字典对象作为参数传递。
Public Sub constructParents(dPRNTs As Dictionary)
dPRNTs.RemoveAll
dPRNTs.CompareMode = TextCompare
dPRNTs.Add Key:="Joe & Jill", Item:=100
dPRNTs.Add Key:="Sam & Sally", Item:=200
dPRNTs.Add Key:="Dave & Debbie", Item:=300
dPRNTs.Add Key:="Bob & Jane", Item:=400
Debug.Print dPRNTs.Count
End Sub
Public Sub ComputeChanges()
Dim dParents As New Dictionary, vKEY As Variant
constructParents dParents
'optionally use this if it makes more sense
'Call constructParents(dParents)
For Each vKEY In dParents
Debug.Print "key: " & vKEY & ", item: " & dParents.Item(vKEY)
Next vKEY
End Sub
我已经简化了您的代码,以便我不必完全复制环境,但我希望您可以为自己的目的转录此方法。