プロパティを Subs/Functions/Methods (getter/setter など) のいとこだと考えれば、その謎は消えるはずです。「オブジェクトメンバーへのアクセス」演算子 (ドット) は、左側にオブジェクト (への参照) があり、右側に有効なメンバー (メソッド、変数/フィールド、またはプロパティ) 名がある限り「機能」します。x.y
ドットの連鎖は、式がオブジェクトに評価される限り「機能」するため、 iny.z
z
はそのオブジェクトのメンバーです。最後の 1 つは、オブジェクトではない可能性があります (右側にドットがありません)。
>> Set oFS = CreateObject("Scripting.FileSystemObject")
>> Set oFld = oFS.GetFolder(".") -- method .GetFolder returns Folder object
>> Set oFiles = oFld.Files -- Property .Files returns collection object
>> WScript.Echo oFiles.Count -- oFiles has a simple/non-object member .Count
>>
2
>> WScript.Echo oFiles.Count.ToString() -- .Count is not an object, but a number
>>
Error Number: 424
Error Description: Object required
>> WScript.Echo oFS.GetFolder(".").Files.Count -- chaining
obj obj obj var
>>
2