VBAのモジュールをSVNで管理するためにマクロでエクスポートする
ExcelとProjectでVBAのクラスモジュールを簡単に共有したりとか,VBAのプロジェクトも何とかSVNで差分が見えるように,テキストファイルで管理したい.テキストにするには,エクスポートすればいいが何かと面倒なので,マクロでできないか調べてみた.まず,マクロの記録で何とか仕様としたが,VBEditorでは何も記録されない.Webで検索すると,エクスポート方法が見つかった.後は,フォルダとファイルの存在確認なので,いつもお世話になっているOffice TANAKAのFileSystemObjectの解説を参照する.できあがったソースは
Const svnCommonFolder = "C:\TracTools\TracTools\trunk\VBA\Common\"
Const moduleName = "TracXMLRPC"Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
'フォルダがあるかどうか確認する
If FSO.FolderExists(svnCommonFolder) = False Then
MsgBox svnCommonFolder & "フォルダは存在しません.モジュールの保存は行いません."
Exit Sub
End If
ActiveWorkbook.VBProject.VBComponents.Item(moduleName).Export svnCommonFolder & "TracXMLRPC.cls"
End SubPrivate Sub Workbook_Open()
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
'ファイルがあるかどうか確認する
If FSO.FileExists(svnCommonFolder & moduleName) = False Then
MsgBox svnCommonFolder & moduleName & "ファイルは存在しません.モジュールの取り込みは中止しました"
Exit Sub
End If
'オープンの時に呼ばれれば,当然saveされているが,デバッグの時はsaveされていないこともある
If ActiveWorkbook.VBProject.VBComponents.Item(moduleName).Saved = False Then
MsgBox "ファイルが保存されていないので,TracXMLRPCのオープンを中止します"
Exit Sub
End If
'まず削除する
ActiveWorkbook.VBProject.VBComponents.Remove ActiveWorkbook.VBProject.VBComponents.Item(moduleName)
'読み込む
ActiveWorkbook.VBProject.VBComponents.Import svnCommonFolder & moduleName & ".cls"
End Sub
後はフォルダをワークブックの相対にするとか,SVNコマンドを自動で発行するとかすればいいか.
| 固定リンク
« XMLRPCでticket.aueryの応答にarrayの件数が100件に制限されている(?)ことについて調査する | トップページ | TracにXMLRPCで接続するVBAクラスモジュール »
「VBA」カテゴリの記事
- メールで受け取ったファイルをSVNに登録する(2012.01.22)
- VBAでXMLRPCを汎用的に修正してTrac連携をそれに合わせて修正した(2011.10.24)
- Excelの(名前の管理のところの)名前の範囲の編集と,名前の範囲の値から複数選択するフォームとマクロ(2011.06.12)
- 状態遷移図からTracのワークフローを作るマクロにTracの設定の取り込み機能追加(2011.02.28)
- tracのワークフローをExcelの図で作った状態遷移図から作ってみる(2011.02.06)
「Excel」カテゴリの記事
- TracのXMLRPCを使ったExcelのマクロでmilestoneなどの設定を取得/更新する(2011.10.31)
- VBAでXMLRPCを汎用的に修正してTrac連携をそれに合わせて修正した(2011.10.24)
- Excelの(名前の管理のところの)名前の範囲の編集と,名前の範囲の値から複数選択するフォームとマクロ(2011.06.12)
- 状態遷移図からTracのワークフローを作るマクロにTracの設定の取り込み機能追加(2011.02.28)
- tracのワークフローをExcelの図で作った状態遷移図から作ってみる(2011.02.06)
「MS-Project」カテゴリの記事
- Tracを真のプロジェクト管理ツールとして使うことが検討されている(2009.11.20)
- MS-Project複数プロジェクト対応版(2009.09.14)
- 今までTrac関係で作ったものの関係をまとめる。(2009.08.23)
- Shinjyuku.trac勉強会第4回発表資料(2009.08.23)
- trac勉強会準備1 依存関係プラグインの設定(2009.07.11)
この記事へのコメントは終了しました。
コメント