【发布时间】: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