При попытке доступа к CustomProperties по имени возникают проблемы.
Решение, которое я реализовал, состоит в том, чтобы выполнить итерацию коллекции CustomPropery для определения индекса элемента (если он существует), а затем использовать его для установки значения (или добавления нового, если его нет)
Передача: ваш объект свойств, запись, которую вы хотите заполнить, и значение, которое вы хотите заполнить
Sub UpsertEntry(objCustomProps, entryname, entryvalue)
'update the custom property with value supplied
On Error Resume Next
Dim icount
Dim iindex
For icount = 1 To objCustomProps.Count
If objCustomProps.Item(icount).name = entryname Then
iindex = icount
Exit For
Else
iindex = 0
End If
Next
If iindex = 0 Then 'no custom property found
objCustomProps.Add entryname, entryvalue
Wscript.Echo " Adding [" & entryname & ":" & entryvalue & "]"
Else
objCustomProps.Item(iindex).Value = entryvalue
Wscript.Echo " Changing [" & entryname & ":" & entryvalue & "]"
End If
On Error GoTo 0
End Sub