2009-07-26 23 views
2

.basファイルを.xlsファイルからエクスポートしています。Exporting A VBComponent Code Module To A Text FileをSVNリポジトリにチェックインします。Excel VBEの一貫性のないエクスポート

実際にはリアルではないファイル(または少なくとも関連性のないファイル)の変数名の大文字と小文字の変更を引き起こす次の問題が発生しました。これらのような

書recased /再フォーマットを取得:

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

(微妙だが、まだ別の、それは私が使用する差分ツールによってピックアップし、これが生成するノイズで、ファイルの実際の変更を隠します)

これが起こらないようにするための方法はありますか?

答えて

1

私は似たようなことをしていますが、あなたが経験していることを見ていません。私は同じエクスポートルーチンを使用していませんが、一見すると似ています。

質問が2つあります。

1)あなたはoption explicitを使用していて、 どこでもcell という名前の変数を持っていますか?

2)コミットしたら、いくつかの変更を行い、.basファイルをエクスポートして再度コミットします。差分はどのように見えますか?

3).basファイルをコード認識エディタ(例:Ultraedit)で開き、大文字と小文字を変更していますか?

私はちょうど推測しています...しかし、VBエディタの大文字化は、メソッドやプロパティと同じ変数に名前を付けると奇妙になる可能性があります。また、あなたの輸出が一貫して輸出されない理由がわかりません.Cell.cellに輸出すれば、それはいつも.cellに輸出され、問題にはならないはずです。上記で示唆したよう

これらは、単にいくつかのアイデア、幸運:)

+0

フィードバックマークありがとう、私はオプションを明示的に使用しています。明日のセルという名前の変数を検索します。 に関して2)、diffは一般的に見えるようになります(この不要なdiffが追加された場合を除く)。 3)私のdiffingツールとしてwinmergeを使用しています(私はそれがコードを認識していないと思います) 「競合する」変数名の説明は可能性が高いと思います。 –

0

は確かに私は、コードで何かを発見しています。

dim cell 

私は今この変数の名前を変更して以来、再フォーマットは行われていません。これが問題を解決したと私は期待し、願っています。多くのご協力ありがとうございます!

1

VBEは、変数名の内部キャッシュを保持しますケーシングを含むので、あなたはcellという変数を見つけて、何か他のものであることを、それを名前を変更していても、VBAはまだそれが有効な名前であるを考えて、そしてしたがって、それはすべての用途にわたってケーシングを維持していますテキスト

あなたは、変数の筐体をリセットするにVBEをだますことができます(これは、あまりにも方法のケーシングの問題のために働く)が一時的に正しいケースで変数を宣言することによって:

Public Cell as String 

そして、その変数を削除します。あなたは、ケーシングのすべてがあなたのプロジェクト(およびそれを参照するプロジェクト)全体で固定されていることがわかります。