2014-08-12
ExcelVBA覚書 マクロの記述を削除する
Excelファイルを作成するときに、マクロの入ったシートをコピーして作成すると、マクロが残っちゃって困ってしまった。
おまけに、一部のシートしかコピーしてないから、モジュールとかにあるプロシージャとかがないってエラーになってしまう・・・
で、マクロは保存する前に削除しちゃいましょう!なロジックを見つけてきた。
元ネタはこちら
Excelでお仕事! マクロを除いた配布用ブックを作成する。
'====================================================== 'ブック上にあるマクロを全部削除しちゃうよロジック '====================================================== Public Sub DeleteMacroIn(wb As Workbook) Dim obj As Object '正しい型はVBComponent Dim lines As Long For Each obj In wb.VBProject.VBComponents With obj.CodeModule lines = .CountOfLines If lines > 0 Then .DeleteLines 1, lines End With Next obj End Sub