HtmlElementProperty class
One settable property on an HtmlElement — returned by HtmlElementProperties.Item. Carries the property’s Value plus a Properties accessor that lets the addin drill into nested DOM property structures (.style.color, .chart.data.datasets(0).borderWidth, …).
Almost always written in shorthand — neither HtmlElementProperty nor its parent HtmlElementProperties is typically named in addin code; the compiler resolves chains like .style.color = "red" through their default-members:
element.style.color = "red"
' ↑ HtmlElement.Properties (HtmlElement's DefaultMember)
' .Item("style") (HtmlElementProperties' DefaultMember)
' .Properties (HtmlElementProperty.Properties — nested bag)
' .Item("color") (the same DefaultMember chain again)
' .Value = "red" (HtmlElementProperty.Value, the leaf)
Properties
Properties
A nested HtmlElementProperties for properties that themselves carry sub-properties (the canonical example is style, whose sub-properties are the individual CSS-style names). Read-only at the accessor level; the inner bag is mutable.
Syntax: property.Properties As HtmlElementProperties
Value
The property’s value. Read returns the current value as a Variant; assigning writes the new value back. DefaultMember — so propertyObj = "red" is equivalent to propertyObj.Value = "red".
Syntax: property [ = value ]
The interface is [COMExtensible(True)] — see Dynamic DOM property resolution on the package overview. Property names that route through Properties are resolved against the live DOM at run time, not declared statically.