マクロを消す
マクロを削除しなければならないことがどうやらあるらしい。
たとえば、内部では仕様書のメンテにマクロを使い、外部へはそのマクロを削除して提出する場合などが考えられる。
とりあえず、ほかの人が作ったらしいが、自分なりに調べてみた。(勉強のために)
Private Sub del_macro_Click() Dim wb As Workbook Set wb = Workbooks.Open(xlsfile.Text) Dim VBC As Object With Workbooks(wb.name).VBProject For Each VBC In .VBComponents Select Case VBC.Type Case 1, 2, 3 .VBComponents.Remove VBC Case 100 With VBC.CodeModule .Deletelines 1, .Countoflines End With End Select Next End With wb.Save wb.Close End Sub Private Sub ref_xlsfile_Click() Dim objExcelApp As Excel.Application Set objExcelApp = CreateObject("Excel.Application") objExcelApp.DefaultFilePath = "C:\" objExcelApp.Application.Quit Set objExcelApp = Nothing Set objExcelApp = CreateObject("Excel.Application") Dim filename As String filename = objExcelApp.Application.GetOpenFilename(FileFilter:="EXCELファイル,*.xls", Title:="マクロを削除するXLSファイル指定") If "False" <> filename Then xlsfile.Text = filename End If objExcelApp.Application.Quit Set objExcelApp = Nothing End Sub
ぶっちゃけ、よくわからんがこのコードに適当なフォームにテキストボックスとボタン二つを貼り付ければ、うごくっぽい。
ちなみに、2003だと変なオプションがついてるから、それを入れないといけないらしい。
ってか、エラーメッセージでわかるようにしておけっていうだ。
参考: