プロが教えるわが家の防犯対策術!

ExcelのVBAで書かれたマクロを編集したいのですが、変更点がわからなくならないようにバージョン管理したいです。
CVS, Subversion などが使えれば良いのですが、.xls ファイルになっているのでバイナリファイルとしてしか管理できません。
差分が見られないのは不便なので、なんとかしたいのですが、どうしたらよいでしょうか?

A 回答 (2件)

>これを楽に行なう方法はありませんでしょうか??



アクティブなブックのモジュールを任意のフォルダ以下にブック名フォルダを作成して一括書き出しを行うプログラムです。
他人が作った物の改変等を行っているので、バックアップ目的に使っています。


Sub Module書出()
' VBA モジュールの書き出し
Dim Project, objxl As Object
Dim DirName As String
Const Path As String = "C:\tmp\"

MkDir Path
For Each objxl In Application.Workbooks
DirName = Path & Left(objxl.Name, Len(objxl.Name) - 4) & "\"
MkDir DirName
For Each Project In objxl.VBProject.VBComponents
Project.Export DirName & Project.Name & ".bas"
Next
Next
End Sub
    • good
    • 1
この回答へのお礼

このコードで作業がかなり楽になりました。
本当にありがとうございます。

お礼日時:2007/03/06 08:30

参考までに。


ExcelのVBAで書かれたツール類をメンテしていますが、
ソースコードはVBAのエディタからテキストファイル(.cls)としてエクスポートしたものを
Subversionで管理しています。
2本立てになってはしまいますが、何もないよりは
マシなので妥協しています。
    • good
    • 0
この回答へのお礼

なるほど。そういう方法があるんですね。参考になります。

今回の場合、複数のシート、複数のモジュールに分割されており、
エクスポートやインポートが煩わしいのですが、
これを楽に行なう方法はありませんでしょうか??

また、他の方法でバージョン管理をされている方がいらっしゃいましたら、ひきつづきよろしくお願いします。

お礼日時:2007/03/01 14:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!