use*_*564 7 html javascript excel activex
在客户端Web应用程序中,我想:
我希望用户能够获得流畅的体验,并通过连接到BeforeClose事件来检测他们何时完成excel,但我发现我无法在javascript/HTML中连接到Excel的事件.
function BeforeCloseEventHandler(cancel) {
// TODO: read values from spreadsheet
alert("Closing...");
}
function openExcel() {
var excel = new ActiveXObject("Excel.Application");
var workbook = excel.Workbooks.Add();
var worksheet = workbook.Worksheets(1);
worksheet.Cells(1, 1).Value = "First Cell";
worksheet.Cells(1, 2).Value = "Second Cell";
workbook.BeforeClose = BeforeCloseEventHandler; // THIS DOESN'T WORK
excel.Visible = true;
excel.UserControl = true;
}
Run Code Online (Sandbox Code Playgroud)
有没有人有什么建议?
Ant*_*ton -1
我不相信这是可能的。原因是,当您调用以下代码时:
var excel = new ActiveXObject("Excel.Application");
Run Code Online (Sandbox Code Playgroud)
您实际上正在打开 Excel。因此,使用以下行:
workbook.BeforeClose = BeforeCloseEventHandler;
Run Code Online (Sandbox Code Playgroud)
这就像您告诉 Excel 应用程序运行 Javascript,这是不可能的。我尝试过研究替代方案,例如创建一个事件对象,定义其背后的代码,然后将其分配给 workbook.BeforeClose,但我会遇到同样的问题:JavaScript 无法检测到 Excel 事件。主要是因为它作为单独的进程运行。
因此,您可以考虑以下其他选择:
抱歉,我无法再提供帮助,而且我不太确定这些替代方案是否有效,但祝你好运!
归档时间: |
|
查看次数: |
2951 次 |
最近记录: |