• ベストアンサー

VBAのバージョン管理

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

質問者が選んだベストアンサー

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.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

tthe_mine
質問者

お礼

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

その他の回答 (1)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

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

tthe_mine
質問者

お礼

なるほど。そういう方法があるんですね。参考になります。 今回の場合、複数のシート、複数のモジュールに分割されており、 エクスポートやインポートが煩わしいのですが、 これを楽に行なう方法はありませんでしょうか?? また、他の方法でバージョン管理をされている方がいらっしゃいましたら、ひきつづきよろしくお願いします。

関連するQ&A