Excel VBE不一致导出

时间:2009-07-26 12:53:43

标签: excel vba svn vbe

我正在导出.bas文件中的.xls文件,如下所示:Exporting A VBComponent Code Module To A Text File将其签入SVN回购邮件。

我遇到以下问题导致文件中变量名称的大小更改实际上不是真实的(或至少不相关)。

这些语句会重新格式化/重新格式化:

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

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

任何想办法防止这种情况发生的想法都会受到赞赏。

3 个答案:

答案 0 :(得分:1)

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

有几个问题。

  

1)您使用的是option explicit吗?   你有一个名为cell的变量吗?   任何地方?

     

2)如果你提交,然后进行一些更改,导出.bas文件并再次提交,差异是什么样的?

     

3)您是否在代码识别编辑器(例如:Ultraedit)中打开和区分.bas文件,这可能会改变您的大小写?

我只是猜测......但是如果你将变量命名为方法或属性,那么VB编辑器大写可能会很奇怪。此外,我不明白为什么你的导出不一致导出.Cell我猜测它是否导出到.cell然后它应该总是导出到.cell而不是问题。

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

答案 1 :(得分:1)

VBE保留变量名称的内部缓存,包括外壳,所以即使你找到一个名为cell的变量,并将其重命名为其他东西,VBA仍然是认为它是一个有效的名称,因此它在文本的所有用法中保留了大写。

您可以通过临时声明具有正确外壳的变量来欺骗VBE重置变量外壳(这也适用于方法上的外壳问题):

Public Cell as String

然后删除该变量。然后,您应该发现所有套管在整个项目(以及任何引用它的项目)中都是固定的。

答案 2 :(得分:0)

事实上,我在代码中发现了一些内容,如上所述。

dim cell

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