[vs2008] Exécution de macro
Bonjour,
J'ai fait une macro toute simple qui fait juste un search and replace dans une classe.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Sub TemporaryMacro()
DTE.Find.FindWhat = "blablabla"
DTE.Find.ReplaceWith = "blublublu"
DTE.Find.Target = vsFindTarget.vsFindTargetFiles
DTE.Find.MatchCase = False
DTE.Find.MatchWholeWord = False
DTE.Find.MatchInHiddenText = True
DTE.Find.PatternSyntax = vsFindPatternSyntax.vsFindPatternSyntaxRegExpr
DTE.Find.SearchPath = "Entire Solution"
DTE.Find.SearchSubfolders = True
DTE.Find.KeepModifiedDocumentsOpen = False
DTE.Find.FilesOfType = "*.vb;*.cs"
DTE.Find.ResultsLocation = vsFindResultsLocation.vsFindResults1
DTE.Find.Action = vsFindAction.vsFindActionReplaceAll
If(DTE.Find.Execute() = vsFindResult.vsFindResultNotFound) Then
Throw New System.Exception("vsFindResultNotFound")
End If
DTE.Find.KeepModifiedDocumentsOpen = True
End Sub |
Pour la créer, j'ai utilisé le record de macro.
Cette macro ne modifie les données que dans une seule classe.
Donc pendant la création, tout se passe bien:
- il cherche, trouve la classe en question, l'ouvre et modifie les valeurs.
La macro se génère bien pas de soucis.
Par contre quand je l'exécute, elle ne fonctionne que si la classe en question est ouverte dans VS.
Lorsque la classe en question est fermée, la macro se bloque.
J'ai l'impression qu'il:
- cherche, trouve la classe en question mais n'arrive pas à l'ouvrir ou faire le replace dedans.
Avez vous une idée s'il vous plaît?
Je vous remercie d'avance,
Cordialement.