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,自此以后就没有重新格式化过了。 我希望并希望这已经解决了这个问题。 非常感谢您的帮助!