| 
    
     |  | #別に「!!」って付けなくても....^_^; 
 sakuさん,こんにちわ。
 >auto_openで開いた時にモジュールを
 >処理の最後に削除する事出来るでしょうか?
 
 実際にSubやFunctionプロシージャを削除するコードです。
 (sheet1に記述しているhogehogeプロシージャを削除します)
 
 Wシート = "sheet1"
 W処理名 = "hogehoge"
 With Application.VBE.ActiveVBProject
 StartLine = .VBComponents(Wシート).CodeModule.ProcStartLine(W処理名, vbext_pk_Proc)
 CntLine = .VBComponents(Wシート).CodeModule.ProcCountLines(W処理名, vbext_pk_Proc)
 If StartLine > 0 Then
 For i = StartLine To StartLine + CntLine - 1
 .VBComponents(Wシート).CodeModule.DeleteLines StartLine
 Next i
 End If
 End With
 
 
 >再度ファイルを開く場合などにマクロが走らない
 >ようにしたいのです?
 単にコードを実行させたくないのであれば「Exit Sub」をプロシージャの
 先頭に埋め込む方法もあります。こちらは,InsertLinesメソッドですね。
 
 |  |