|
手動と連続実行の違いがよく解りませんが、
下記コードだと矢印を入れたところにブレークポイントを置いた場合、
モジュールが消えてないということでしょうか?
Sub popo()
Dim wb As Workbook
Dim VBC As Object
PAS = CreateObject("WScript.Shell").SpecialFolders("Desktop")
With Workbooks("moju_in.xls").VBProject
For Each VBC In .VBComponents
If VBC.Type = 1 Then
.VBComponents.Remove VBC
End If
Next
For i = 1 To 2 '←ここでストップ?
.VBComponents.Import PAS & "\Module" & i & ".bas"
Next
End With
End Sub
On Timeで時間差攻撃?
【30940】ユーザーフォームのインポート
ht tp://www.vbalab.net/vbaqa/c-board.cgi?page=&no=30940&mode=tre&id=excel&cmd=jmp
それとなんとなく、削除するモジュールの中のマクロを消す前に1度実行していますか?
で、その中にSet文などが書かれていて、解放してないとか?
別ブックやシートを変数にセットしたままにすると、そのブックを閉じてもプロジェクトに残ったままなんて事があるらしいので。
また、空回しするのはマクロでプロジェクトの中を操作したりすると、エクセルが認識してないなんて事があったので認識させるための工夫です。
ここに書いたのも上記理由からです。
ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=205;id=FAQ
|
|