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 回答