- ベストアンサー
VBAのバージョン管理
ExcelのVBAで書かれたマクロを編集したいのですが、変更点がわからなくならないようにバージョン管理したいです。 CVS, Subversion などが使えれば良いのですが、.xls ファイルになっているのでバイナリファイルとしてしか管理できません。 差分が見られないのは不便なので、なんとかしたいのですが、どうしたらよいでしょうか?
- みんなの回答 (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
その他の回答 (1)
- sakusaker7
- ベストアンサー率62% (800/1280)
参考までに。 ExcelのVBAで書かれたツール類をメンテしていますが、 ソースコードはVBAのエディタからテキストファイル(.cls)としてエクスポートしたものを Subversionで管理しています。 2本立てになってはしまいますが、何もないよりは マシなので妥協しています。
お礼
なるほど。そういう方法があるんですね。参考になります。 今回の場合、複数のシート、複数のモジュールに分割されており、 エクスポートやインポートが煩わしいのですが、 これを楽に行なう方法はありませんでしょうか?? また、他の方法でバージョン管理をされている方がいらっしゃいましたら、ひきつづきよろしくお願いします。
お礼
このコードで作業がかなり楽になりました。 本当にありがとうございます。