excel – 当值为null时,访问自定义属性的值会给出“Out of Memory”错误

我正在尝试在
excel工作表中创建自定义属性,然后检索其值.当我不使用空字符串,即“”时,这很好.当我使用空字符串时,我收到此错误:

Run-time error '7':
Out of memory

这是我正在使用的代码:

Sub proptest()

Dim cprop As CustomProperty
Dim sht As Worksheet

Set sht = ThisWorkbook.Sheets("control")
sht.CustomProperties.Add "path", ""

For Each cprop In ThisWorkbook.Sheets("control").CustomProperties
    If cprop.Name = "path" Then
        Debug.Print cprop.Value
    End If
Next

End Sub

Debug.Print cprop.value中的代码失败.我不应该最初能够将属性设置为“”吗?

最佳答案 我认为丹尼尔·杜塞克的评论和答案显然无法做到这一点.该属性应该至少有1个字符有效,空字符串是不允许的,并且在调用.Value时会出错.

因此,添加长度为1或更多字符串的此属性,并在没有为其分配实际值时再次删除该属性.

点赞