マクロのソースを比較したい時、ソース管理システムに登録したい時など、xlsm、pptmなどのファイルから、モジュール単位でテキストファイルに吐き出す。Excel, PowerPointで出来たので、多分Wordも出来る。
↑VBAプロジェクトオブジェクトモデルへのアクセスを許可する必要あり。
以下を名前「マクロのソースexport.vbs」で保存し、目的のxlsやxlsm、pptmなどのファイルをエクスプローラー上でドロップすると実行される。
set fso = createobject("scripting.filesystemobject") for each f in WScript.Arguments exec f next sub exec(f) set theFile = fso.getfile(f) toDir = theFile.ParentFolder & "\" & fso.GetBaseName(f) if not fso.FolderExists(toDir) then set toDir = fso.CreateFolder(toDir) set ppt = wscript.GetObject(f) For Each VBC In ppt.VBProject.VBComponents VBC.Export toDir & "\" & VBC.name & ".bas" Next end sub