每当我使用此代码时,
Set oExcel = CreateObject("Excel.Application")
Set oWorkbook = oExcel.Workbooks.Open(sPathToTemplate)
oExcel.Range("shipping_name").Value = strShippingName
oWorkbook.Close()
Set oWorkbook = Nothing
Set oExcel = Nothing
服务器上的Excel进程正在冻结,并且单元格永远不会被更改。或者至少看起来就是这样。
工作簿打开就好了,如果我不尝试更改任何单元格内容,代码就会完成而不会出错。但是当我重新添加更改并刷新页面时,EXCEL.exe进程出现在任务管理器中,脚本停止响应。我必须手动终止该过程以使其超时。
我能做些什么来让代码正常工作?
答案 0 :(得分:1)
这可能是因为您没有保存工作簿。在桌面上,这将导致Excel生成“您要保存更改吗?”对话框。
尝试添加
oWorkbook.saved = true
关闭工作簿之前。这将告诉Excel不关心工作簿是否已更改(但不会保存文档)。如果你的asp工作,那么它就是导致问题的保存对话框。要实际保存更改,您需要调用其中一个
oWorkbook.Save
oWorkbook.SaveAs
方法