我正在导出.bas
文件中的.xls
文件,如下所示:Exporting A VBComponent Code Module To A Text File将其签入SVN回购邮件。
我遇到以下问题导致文件中变量名称的大小更改实际上不是真实的(或至少不相关)。
这些语句会重新格式化/重新格式化:
rngTenors.Cells(i, 1)
changes into
rngTenors.cells(i, 1)
(微妙但仍然不同,它被我使用的diff工具拾取并隐藏了生成的噪音中文件的真实变化)
任何想办法防止这种情况发生的想法都会受到赞赏。
答案 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
我现在已经重命名了这个变量,从那以后就没有重新格式化了。我希望并希望这已经解决了这个问题。非常感谢您的帮助!