如何用javascript在excel中创建对象
我想知道如何在excel中通过javasript创建shape对象。我知道如何在vba中读取js代码,但不知道如何获取对象的句柄。下面是工作添加示例如何用javascript在excel中创建对象,javascript,excel,vba,Javascript,Excel,Vba,我想知道如何在excel中通过javasript创建shape对象。我知道如何在vba中读取js代码,但不知道如何获取对象的句柄。下面是工作添加示例 Public Sub TestJS() Dim script As New ScriptControl Dim result As Variant script.Language = "JScript" With script .AddCode "function add
Public Sub TestJS()
Dim script As New ScriptControl
Dim result As Variant
script.Language = "JScript"
With script
.AddCode "function add(a,b) {return 'result from '+a+' + '+b+' is ' +(a+b);}"
result = .Run("add", 1, 2)
End With
Cells(1, 1) = result
End Sub
最后,我尝试在excel中运行此代码片段。
js文件和完整代码
欢迎提供任何建议脚本控件与浏览器javascript主机不同-它没有窗口/文档等,因此无法使用脚本创建对象?也许json for vba可以做到这一点?您可以尝试在表单或工作表中使用WebBrowser控件,这将为您提供一个浏览器主机。我没有看过你正在使用的脚本,所以我不确定它们是否与IE兼容(这是你通过WebBrowser控件得到的)
PDF417.init(hub3_code);
var barcode = PDF417.getBarcodeArray();
// block sizes (width and height) in pixels
var bw = 2;
var bh = 2;
// create canvas element based on number of columns and rows in barcode
var canvas = document.createElement('canvas');
canvas.width = bw * barcode['num_cols'];
canvas.height = bh * barcode['num_rows'];
document.getElementById('barcode').appendChild(canvas);
var ctx = canvas.getContext('2d');