| 
    
     |  | ▼こう さん: >#別に「!!」って付けなくても....^_^;
 >
 >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メソッドですね。
 
 ありがとうございます。
 でも、コードを見てもヘルプをかけても今ひとつ分からずに
 いるのですが、もうちょっと教えて頂けたらありがたいです。
 現在、"Sheet1""Shee2"のシートと"Module1"のモジュール
 があり、aute_openで実行して処理が終わる前に、"Sheet2"
 "Module1"を削除しようとしているのですが、上記のコード
 どのようにすればよいのでしょうか?
 
 
 |  |