IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual Studio Discussion :

Cherche commande Macro [Débutant]


Sujet :

Visual Studio

  1. #1
    Membre habitué Avatar de Dark Ryus
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 333
    Points : 162
    Points
    162
    Par défaut Cherche commande Macro
    Bonjour,

    J'essaie de faire une macro pour automatiser la commande "générer un script de création dans un projet.." que l'ont peut trouver en faisant un clic droit sur une procédure stockée de base de données.

    Comment trouver cette commande en programmant une macro ?

    Le but final est de pouvoir générer les script de toutes mes procédures automatiquement, car une par une c'est très long ....

    Merci

    Edit : j'ai trouvé "Autresmenuscontextuels.Noeuddobjet.Oracle.CreateScript2Project" en cherchant un peu. Comment faire pour utiliser cette commande dans une macro ?

    Edit 2 :
    J'ai commencé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub CompileBaseRegions()
            Dim samples As UIHierarchyItem = DTE.ActiveWindow.Object.getItem("Connexions de données\MaBase\Procédures")
            For Each file In samples.UIHierarchyItems
                file.Select(vsUISelectionType.vsUISelectionTypeSelect)
                DTE.ExecuteCommand("Autresmenuscontextuels.Noeuddobjet.Oracle.CreateScript2Project")
            Next
        End Sub
    Pour le moment mon code se bloque au niveau de DTE.ExecuteCommand car une popup s'ouvre pour demander une confirmation Oui/Non/Annuler. Je ne sais pas comment faire pour valider cette popup.... car ma boucle s'arrête tant que ma popup n'est pas fermée !

  2. #2
    Membre habitué Avatar de Dark Ryus
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 333
    Points : 162
    Points
    162
    Par défaut
    J'ai fait ce bout de code qui fonctionne bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
     
    Imports System
    Imports EnvDTE
    Imports EnvDTE80
    Imports EnvDTE90
    Imports EnvDTE90a
    Imports EnvDTE100
    Imports System.Diagnostics
     
    Public Module CompileProcBase
     
        Sub CompileProcBase()
            Dim listeProc As UIHierarchyItem = DTE.ActiveWindow.Object.getItem("Connexions de données\Mabase.mabase\Procédures")
     
            For Each proc In listeProc.UIHierarchyItems
                proc.Select(vsUISelectionType.vsUISelectionTypeSelect)
                DTE.ExecuteCommand("Autresmenuscontextuels.Noeuddobjet.Oracle.CreateScript2Project")
                DTE.ActiveWindow.Close(vsSaveChanges.vsSaveChangesNo)
            Next
        End Sub
     
     
    End Module
    Seul petit faut que le dossier de sortie soit sélectionné dans l'explorateur de solution, et que la fenêtre sélectionné soit l'explorateur de serveur. Si la procédure existe déjà, un message de confirmation apparait, moi je supprimes toutes les procédures avant de lancer la macro, comme ça pas de popup d'avertissement.

    J'ai fait le même pour les fonctions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Imports System
    Imports EnvDTE
    Imports EnvDTE80
    Imports EnvDTE90
    Imports EnvDTE90a
    Imports EnvDTE100
    Imports System.Diagnostics
     
    Public Module CompileFoncBase
     
     
        Sub CompileFoncBase()
            Dim listeFonc As UIHierarchyItem = DTE.ActiveWindow.Object.getItem("Connexions de données\Mabase.Mabase\Fonctions")
     
            For Each fonc In listeFonc.UIHierarchyItems
                fonc.Select(vsUISelectionType.vsUISelectionTypeSelect)
                DTE.ExecuteCommand("Autresmenuscontextuels.Noeuddobjet.Oracle.CreateScript2Project")
                DTE.ActiveWindow.Close(vsSaveChanges.vsSaveChangesNo)
            Next
        End Sub
     
     
    End Module
    et aussi pour les triggers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Imports System
    Imports EnvDTE
    Imports EnvDTE80
    Imports EnvDTE90
    Imports EnvDTE90a
    Imports EnvDTE100
    Imports System.Diagnostics
     
    Public Module CompileTriggerBase
     
        Sub CompileTriggerBase()
            Dim listeTables As UIHierarchyItem = DTE.ActiveWindow.Object.getItem("Connexions de données\Mabase.Mabase\Tables")
     
            For Each table In listeTables.UIHierarchyItems
     
                table.UIHierarchyItems.Expanded = True
                Dim listeTigger As UIHierarchyItem = DTE.ActiveWindow.Object.GetItem("Connexions de données\Mabase.Mabase\Tables\" & table.Name & "\Déclencheurs")
                listeTigger.UIHierarchyItems.Expanded = True
                If listeTigger IsNot Nothing AndAlso listeTigger.UIHierarchyItems.Count > 0 Then
     
                    For Each trigger In listeTigger.UIHierarchyItems
                        trigger.Select(vsUISelectionType.vsUISelectionTypeSelect)
                        DTE.ExecuteCommand("Autresmenuscontextuels.Noeuddobjet.Oracle.CreateScript2Project")
                        DTE.ActiveWindow.Close(vsSaveChanges.vsSaveChangesNo)
                    Next
     
                End If
                listeTigger.UIHierarchyItems.Expanded = False
                table.UIHierarchyItems.Expanded = False
            Next
        End Sub
     
    End Module

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [OpenOffice][Tableur] Cherche petite macro word
    Par lakavezo dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 18/09/2007, 17h30
  2. Commande Macro access
    Par BCHJ13 dans le forum Access
    Réponses: 4
    Dernier message: 31/07/2007, 10h25
  3. [[VBA-E]je cherche une macro sur excel qui ouvre un fichier
    Par macromega dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/05/2007, 09h25
  4. [ASE 11.9.2]Cherche commande pour connaitre le charset utilisé par une base
    Par battit64000 dans le forum Adaptive Server Enterprise
    Réponses: 2
    Dernier message: 29/04/2007, 01h24
  5. Cherche commande UNIX bien plus simple
    Par nenekes dans le forum Linux
    Réponses: 10
    Dernier message: 11/09/2006, 15h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo