2013-08-22 35 views
0

我正在研究使用ActiveXObject命令(IE獨佔)創建Excel的JavaScript代碼。在某些時候,我在下面的方式創建一個文本框:如何更改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!!! 

的文本框中正確創建,但是當我嘗試添加它拋出了一個錯誤的值:

the object doesn't support this property or method

任何幫助將不勝感激。

回答

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 
相關問題