如何从javascript更改excel中文本框的内容

如何从javascript更改excel中文本框的内容,excel,jscript,Excel,Jscript,我正在编写一个javascript代码,该代码使用ActiveXObject命令(IE独占)创建Excel。在某些情况下,我会按以下方式创建一个文本框: excel = new ActiveXObject('Excel.Application'); excel.Workbooks.Add(); excel.Application.Visible = true; var vFirma1 = excel.ActiveSheet.Shapes.AddTextbox(1, 200, 200, 200,

我正在编写一个javascript代码,该代码使用ActiveXObject命令(IE独占)创建Excel。在某些情况下,我会按以下方式创建一个文本框:

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!!!
文本框创建正确,但当我尝试添加值时,它会引发下一个错误:

对象不支持此属性或方法

任何帮助都将不胜感激。

是一种带有可选参数的方法。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