0

私は ActiveXObject コマンド (IE 限定) を使用して Excel を作成する JavaScript コードに取り組んでいます。ある時点で、次の方法でテキスト ボックスを作成します。

excel = new ActiveXObject('Excel.Application');
excel.Workbooks.Add();
excel.Application.Visible = true;
var vFirma1 = excel.ActiveSheet.Shapes.AddTextbox(1, 200, 200, 200, 200);
vFirma1.TextFrame.Characters.Text = "Test Box"; //Error here!!!

テキスト ボックスは正しく作成されますが、値を追加しようとすると、次のエラーがスローされます。

オブジェクトはこのプロパティまたはメソッドをサポートしていません

どんな助けでも大歓迎です。

4

1 に答える 1

1

TextFrame.Charactersは、オプションのパラメーターを持つメソッドです。VBScript/VBA はプログラマーからこれを隠すことができますが、JScript はできません:

excel = new ActiveXObject('Excel.Application');
excel.Workbooks.Add();
excel.Application.Visible = true;
var vFirma1 = excel.ActiveSheet.Shapes.AddTextbox(1, 200, 200, 200, 200);
WScript.Echo("vFirma1\t", typeof vFirma1);
WScript.Echo("TextFrame\t", typeof vFirma1.TextFrame);
WScript.Echo("Characters\t", typeof vFirma1.TextFrame.Characters);
WScript.Echo("Characters()\t", typeof vFirma1.TextFrame.Characters());
WScript.Echo("Characters().Text\t", typeof vFirma1.TextFrame.Characters().Text);
vFirma1.TextFrame.Characters().Text = "Test Box"; //No Error here!!!

出力:

cscript 18390537.js
vFirma1  object
TextFrame        object
Characters       unknown
Characters()     object
Characters().Text        string
于 2013-08-23T17:01:36.223 に答える