A 0
в словаре не содержит никакого значения. A 1
возможно, может дать вам желаемый результат. Я не знаю php, но все, что я мог понять из приведенного выше кода и вашего требования, это то, что я придумал, поэтому я не уверен, что это то, что вы хотите?
Sub Sample()
Dim Dict1 As Dictionary
Dim sString As String
Set Dict1 = New Dictionary
With Dict1
.CompareMode = BinaryCompare
.Add 1, "Item 1"
End With
sString = "Sid"
Debug.Print sName(Dict1)
Debug.Print sName(sString)
End Sub
Public Function sName(Inpt As Variant) As Variant
If TypeName(Inpt) = "Dictionary" Then
sName = Inpt.Item(1)
ElseIf TypeName(Inpt) = "String" Then
sName = Inpt
End If
End Function
EDIT
Если вы все еще хотите использовать 0
, то при добавлении в словарь используйте 0
, например
With Dict1
.CompareMode = BinaryCompare
.Add 0, "Item 1"
End With
и затем вы можете использовать 0
в функции, как показано ниже
sName = Inpt.Item(0)
SNAPSHOT (ВСЕ 3 УСЛОВИЯ - ИСПОЛЬЗОВАНИЕ 0 И 1)
НТН
Sid