【问题标题】:Excel 2003 Spreadsheet Object Disappears in Excel 2007Excel 2003 电子表格对象在 Excel 2007 中消失
【发布时间】:2011-06-28 18:19:10
【问题描述】:

我继承了一个旧的 Excel 2003 应用程序,需要对其进行转换以使其在 Excel 2007 中工作。该应用程序使用电子表格作为应用程序内的“弹出窗口”来进行体积计算。在 Excel 2003 中,这可以按预期工作。在 Excel 2007 中,VBA 抱怨“需要对象”错误。

通过对象浏览器浏览,Excel 2003 将“VolSheet”列为电子表格对象。 Excel 2007 根本找不到。但是,如果您遍历所有形状 (ActiveSheet.Shapes),Excel 2007 确实将“VolSheet”列为形状。

我的问题是:有没有办法强制 Excel 2007 将 VolSheet 识别为电子表格?我是否必须在某处将其变暗并找到将 Shape 引用转换为电子表格的方法?我可以欺骗 Excel 2007 使其识别出它实际上已经存在于其中一个工作表中吗?

【问题讨论】:

  • 恐怕 VolSheet 是特定于您的解决方案的东西,因此使用此信息进行调试有点困难。失败的具体代码行是什么,是否缺少任何引用(VBA 编辑器中的工具..引用)?
  • VolSheet 可能是作为参考添加的外部文件。正如 Chris R 所说,请查看参考资料,否则,请尝试搜索 VolSheet。
  • @ChrisR 失败的代码行是首先引用 VolSheet 的代码。没有遗漏的参考资料。我对这一切的第一个想法是,它以某种方式作为 Excel 2003 中的对象嵌入到主工作表中,而 Excel 2007 不再将其识别为可识别对象。它使用如下:Sheet1.VolSheet.Top = 2.25 Sheet1.VolSheet.Activate 等。
  • @Remou 我已经在 VBA 项目和 Excel 的设计模式中搜索过 VolSheet。两者都没有出现任何结果。
  • 我猜你已经通过代码了?你能给出错误发生的那一行和它周围的几行,或者整个过程,如果它不是太大的话。

标签: excel excel-2007 excel-2003 vba


【解决方案1】:

好像你需要更新你在 2007 机器上安装的 OWC

Office Web Components 版本 11 最初不支持 Office 2007,但已更新以将其添加到 SP1。有关安全补丁,请参阅 LinkLink

【讨论】:

  • 我已经在几台计算机上测试过这个(XP 和 Win7,虽然据说它不应该在 Win7 上工作),但到目前为止还没有运气。我已经检查以确保新版本的 OWC 列在参考资料中并且正在使用中。 Excel 仍然无法识别 VolSheet。
  • 你确定要申请Sp吗?文件名 文件版本 Msvcm80.dll 8.0.50727.762 Msvcp80.dll 8.0.50727.762 Msvcr80.dll 8.0.50727.762 Ogl.dll 12.0.6211.1000 Owc11.dll 12.0.6211.1000 Riched20.dll 12.0.6211.1000.0.6211.1.1span>
  • 我从您给我的第一个 Microsoft 链接下载并安装了 owc2007sp1-kb937961-fullfile-en-us.exe。 Msvcm80.dll 8.0.50727.762 Msvcp80.dll 8.0.50727.762 Msvcr80.dll 8.0.50727.762 Ogl.dll 12.0.6211.1000 Owc11.dll 12.0.6211.1000 Riched20.dll 12.0.6211.1000
  • 如果它仍然不能与 OWC Sp1 一起工作,那么我很难过。如果无法访问实际的 excel 文件,我真的无法再添加(我想这是不可能的!)
  • 嗯,不幸的是。不过,感谢您的建议和您的时间。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-16
相关资源
最近更新 更多