Excel VBE导出不一致

我从.xls文件中导出.bas文件,如下所示: 将VBComponent代码模块导出到文本文件以将其检入SVN回购。

我遇到以下问题,导致文件中variables名称的shell变化实际上不是真实的(或者至less不相关)。

像这样的语句得到重新格式化/重新生成:

 rngTenors.Cells(i, 1) changes into rngTenors.cells(i, 1) 

(微妙但仍然不同,它被我使用的diff工具拾取并隐藏文件中产生的噪音中的真实变化)

任何想法,以防止这种情况发生,将不胜感激。

我正在做类似的事情,但没有看到你正在经历的事情。 我没有使用相同的导出例程,但乍一看看起来相似。

几个问题。

1)你是否option explicit使用option explicit ,并且你是否有一个名为cell的variables在任何地方?

2)如果您提交,然后进行一些更改,导出.bas文件并再次提交,比较看起来像什么?

3)你打开和分辨.bas文件在一个代码意识编辑器(如:Ultraedit),可能会改变你的大写?

我只是猜测…但VB编辑器大写可以是奇怪的,如果你的variables名称相同的方法或属性。 另外我不明白为什么你的出口将不一致.cell我猜如果它出口到.cell那么它应该总是出口到.cell而不是一个问题。

这些只是一些想法,祝你好运:)

VBE保留了一个variables名的内部caching, 包括shell,所以即使你find了一个名为cell的variables,并且把它重命名为别的东西,VBA仍然认为它是一个有效的名字,所以它保留了所有该文本的用法。

你可以通过临时声明一个具有正确shell的variables来诱骗VBE重置variables套pipe(这也适用于方法中的套pipe问题):

 Public Cell as String 

然后删除该variables。 然后你应该发现所有的shell在整个项目(以及任何引用它的项目)中都是固定的。

事实上,我在代码中发现了上面提到的东西。

 dim cell 

我现在已经重命名了这个variables,自此以后就没有重新格式化过了。 我希望并希望这已经解决了这个问题。 非常感谢您的帮助!