Excel 2007 でマクロを作成しようとしています。このマクロは、実行が終了して Excel を閉じると自動的に削除されます。これを行う理由は、ワークブックを他の人に送信する予定であり、マクロに関するセキュリティ警告を他の人に見られたくないからです。このワークブックの複数のバージョンが生成されるため、それぞれのマクロを手動で実行して削除したくありません。
次のコードを試しました。エラーなしで実行されますが、マクロは実際には削除されません。「ActiveWorkbook.Close SaveChanges:=True」という行を削除すると、マクロは削除されますが、Excel を閉じるときにワークブックを保存するようユーザーに促します。ユーザーの操作なしでこれを行う方法はありますか?
Dim ActiveComponent
Set ActiveComponent = ActiveWorkbook.VBProject.VBComponents("ModuleName")
ActiveWorkbook.VBProject.VBComponents.Remove (ActiveComponent)
ActiveWorkbook.Save
Application.Quit
ActiveWorkbook.Close SaveChanges:=True