首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel.Application objExcel.Range("range")冻结

Excel.Application objExcel.Range("range")冻结
EN

Stack Overflow用户
提问于 2010-12-08 22:02:21
回答 1查看 1.1K关注 0票数 0

每当我使用这段代码时,

代码语言:javascript
运行
复制
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进程出现在任务管理器中,脚本停止响应。我必须手动终止该进程才能使其超时。

我能做些什么来让代码正常工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-08 22:34:22

这可能是因为您没有保存工作簿。在桌面上,这会导致Excel生成一个“是否要保存更改?”对话框。

尝试添加

代码语言:javascript
运行
复制
oWorkbook.saved = true

在关闭工作簿之前。这将告诉Excel不要关心工作簿是否已更改(但不会保存文档)。如果你的asp能工作,那就是保存对话框出了问题。要实际保存更改,需要调用其中一个

代码语言:javascript
运行
复制
oWorkbook.Save
oWorkbook.SaveAs

方法

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4388322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档