asp 网址迁移对 excel 组件的调用
20 Aug 2014关于VBscript 对 excel组件的调用
-
由于公司的服务器前段时间又迁移操作,将原用服务器(windows server 2003+iis6) 上的网站全部迁移到新的服务器上(windows server +iis7) 由于服务器的环境的等改,网站上有的功能便不能使用了。
-
PS: VBscript 调用excel 组件 出现了问题,导致excel不能创建生成。但由于导出excel功能经常要使用,所以我只能凭借有限的力量去修复它了
- 因为是要通过excel来创建excel 对象,所以第一步安装 excel,于是我给服务器安装了 office 2010 (装玩excel 继续运行 出现权限不足 Microsoft VBScript 运行时错误 错误 ‘800a0046’ 没有权限!。)
- 运行> dcomcnfg >组件服务>计算机>我的电脑>dcom 配置
- 找到Excel.Application 赋予 everyone 调用权限 ( 但是我的docm 配置里面找不到Excel.Application 配置,只能找到 world配置 起初我以为是office 没装成功,又重新装了一遍,发现还是没有Excel.Application 配置。 这个只能在 注册表 HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel 赋予 excel Iuse 用户权限)
Set ExcelApp =CreateObject("Excel.Application") ExcelApp.Visible = True > 2.配置好权限之后接着运行 出现<span style="color:red">System.Runtime.InteropServices.COMException: 内存或磁盘空间不足,Microsoft Office Excel 无法再次打开或保存任何文档。 </span>
-
一开始我觉的这个是excel 没有装好,但是可以创建excel 对象了(所以不是excel的问题) 但最后在网上 找到一个方法可以解决这个问题() 在出错代码前面加 ExcelApp.DefaultSaveFormat = 56
ExcelApp.DefaultSaveFormat = 56 '解决内存磁盘不足代码' Set ExcelBook = ExcelApp.Workbooks.Add '添加工作簿' //内存不足出错代码 Set WorkSheet1 = ExcelBook.WorkSheets(1) <p style="color:red"><a href="http://www.cnblogs.com/Athrun/archive/2011/04/19/2021307.html">这里要非常感谢这位哥们</a></p>
-
解决玩内存不足的问题。接着运行出现还有问题(Microsoft Excel 错误 ‘800a03ec’ 类 Workbook 的 SaveAs 方法无效)
if fs.FileExists(filename) then fs.DeleteFile(filename) end if Set fs = Nothing xcelbook.SaveAs filename '错误语句' xcelbook.SaveCopyAs filename //将错误语句改为 SavaAs 改为 SavaCopyAs 问题解决 Set ExcelBook = Nothing ExcelApp.Application.Quit '要加这一句,否则每运行一次你的里 增加一个Excel进程,而且无法释放; Set ExcelApp = Nothing <p style="color:red"><a href="http://s.yanghao.org/program/viewdetail.php?i=46682">这里要非常感谢写这篇文字的哥们</a></p> <p style="color:red">因为之前的服务器环境为 windows server 2003 office 为2003 现在的office 版本为office 2007
- 因为是要通过excel来创建excel 对象,所以第一步安装 excel,于是我给服务器安装了 office 2010 (装玩excel 继续运行 出现权限不足 Microsoft VBScript 运行时错误 错误 ‘800a0046’ 没有权限!。)
</p>
<p>SaveCopyAs 保存的为office 2007 版本的excel</p>
<p>SavaAs 保存的为office 2003 版本的excel</p>
<p>所以在新的服务器上office的更改VBscript 对应的语句也要更改</p>ß