VBScriptでのメソッドの返り値

アドビユーザーフォーラムでの質問
Duplicateの戻りオブジェクト取得方法(リンク切れ)から。

前々かVBScriptでのメソッドの返り値は何かおかしいな、とは気付いていたんだけど。
改めてテストしてみるとやっぱりおかしい。別Duplicateに限らず。
今回同じ操作VBScriptとJavaScriptで比較してみて、JavaScriptでは問題ない、やっぱVBScriptの問題と確信した。

実は、だからといって、自分自身は殆ど影響を受けない。というのも、VBScriptは主に新規にデータを作成するためVBAから使用することが多いので、操作したいオブジェクトはあらかじめ分かっているから。特に返り値を必要とする操作(メソッド)は行わないのである。
JavaScriptでは新規にデータを作成することは殆どない。こちらは主に既存のデータの修正を行うために使用している(Macでも作業ができるようにね)。
多分、Adobeの意図もこんなところだと思っている(勝手に)。

それはさておき、フォーラムでの回答なのだが、悩んで色々テストした挙句、最後の回答
ind1.Select(txt1.Duplicate(Array(100, 0)))
Set txt2 = ind1.Selection(1)
に落ち着くんだろうなあ
。自分の足りない思考回路を人にばらしてしまったようで、ちと恥ずかしい。
なんだかんだやっても結局、プログラムは発想なのよ。多分。

※16:20 追記 残念ながら落ち着かなかったよ。改めて自分のテストしたコードを見てたtxt1の宣言(Dim txt1 As InDesign.TextFrame)がなかったよ。
「VBScript(VBA)で変数を明示的に宣言すると『型が一致しません』エラーが発生する」現象は根が深そうなのでまた今度。