1

vb スクリプトまたは VBA でのオブジェクト ベースのプログラミングについて、基本的な質問が 1 つあります。一般に、Java でオブジェクト指向プログラミングを使用する場合、次のような変数または関数へのオブジェクト参照を使用します。

Obj.Add() or Obj.i=5

しかし、VBA および VB スクリプトでは、次のような Obj.Property.Property や Obj.Method.Property などを使用します。

Set sib = Tchilds.item(j).childNodes 'where item is a method defined in DOM.

これが論理的にどのように可能であるかは疑問です。

4

1 に答える 1

2

プロパティを 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
于 2013-02-23T17:54:28.707 に答える