VBA更改Excel 2002中 - > Excel 2007中(VBA changes Ex

2019-09-19 21:09发布

我在哪里可以找到从Excel XP(2002),以Excel 2007中的VBA更改的完整列表? 我有严重依赖于VBA的工作簿时,我已在2002年一直在努力,当我在2007年打开了它,我注意到,有些东西已经改变了。 举例来说,我的工作簿做大量的3D旋转的; 我发现, Shape.ThreeD.RotationX已成为Shape.ThreeD.RotationY ,反之亦然。 我还发现,我不得不否定旋转值,从而使

Shape.ThreeD.RotationX = 90

Shape.ThreeD.RotationY = -90

我相信,还有其他的变化,以及,这是我可能错过了。 我还没有看到任何地方详细介绍了上述变化,所以我想知道:

如那些我有哪些网站细节变化勾勒以上?

Answer 1:

  1. 打开Excel 2007,进入VBA编辑器(ALT + F11)
  2. 打开帮助 (F1)
  3. 点击最新消息
  4. 点击对象模型更改由于微软的Office XP(2002)

瞧!

这份名单是相当全面和互动,所以我不会在这里重现。 但它也有自97,2000和2003版本的变化。



Answer 2:

下面是一些我迄今发现的变化:

Shape.ThreeD.RotationX = 90

已经成为

Shape.ThreeD.RotationY = -90

(即,X轴和Y轴被交换周围上自选3D旋转,并沿着这些轴的正/负方向是圆的以相反方式)。

Excel中似乎不再兑现

Shape.ThreeD.ExtrusionColorType = msoExtrusionColorAutomatic

指令(它只是给出了一个黑色的挤压,至少在我的测试)。

ThreeD形状必须现在有自己的照明方向明确设置,如

Shape.ThreeD.PresetLightingDirection = msoLightingRight

而以前这似乎没有必要。

这些只是一些我迄今发现的东西。 我相信,还有更多 - 我将增加他们,因为我觉得他们(我会尽量把涉及自动形状的东西在这个答案,集团其他变化/在不同的答案的问题,使其更容易浏览)。

如果你有代码,使用的

Application.ScreenUpdating = False

自身加快,你必须显式调用

Application.ScreenUpdating = True

显示一个MsgBox或之前的InputBox如果你想改变在屏幕上显示(2002年而总是表现出任何对话框之前刷新屏幕)。



Answer 3:

根据我的经验,你可以尝试让基于不完整的“面面俱到”名单上的变化,但你还是要测试代码,看看有什么不工作,你所期望的方式。 更改因此它可以在2007年之后,还需要在原来的版本进行测试,所以它仍然适用于那些用户。



文章来源: VBA changes Excel 2002 -> Excel 2007