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

VBScript Discussion :

Changer un nom de macro rattachée dans des Word


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Par défaut Changer un nom de macro rattachée dans des Word
    Je dois changer le chemin de la macro rattachée de qques centaines de doc Word

    Alors j'ai fait un VBScript. Le seul pb est que bien que mon word soit en niveau de sécurité macro "élevé", il exécute le code de la macro rattachée !! ce qui est normal vu que VbScript doit s'exécuter. Alors comment faire pour juste changer le nom de la macro rattachée (que je dois lire et en fonction de celui-ci je le remplace par un tel ou tel chemin) SANS EXECUTER le code de cette macro rattachée !!!

    Voici le code du vbscript :
    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
    Dim fso, f, fc, fileWriter, NomAvant, NomApres, TRUC
    set objWord = CreateObject("Word.Application")
    objWord.Visible = True
    Set fso = CreateObject("Scripting.FileSystemObject") 
    'Répertoire des éditions à modifier
    Set f = fso.GetFolder("D:\Travail en cours\Test Editon 1")
    Set fc = f.Files
    For Each f1 in fc
     objWord.visible = False 
     
     Set objDoc = objWord.Documents.Open(f1.Path)
     'le code de la macro s'eécute ici, alors que je ne le veux pas !!!
     'Lecture du nom du dot rattaché
     NomAvant = objDoc.AttachedTemplate
     MsgBox ("Actuel:" & NomAvant)
     
     'Srvsieprod1 ?
     TRUC = Left(NomAvant,13)
     MsgBox("Nom de 13 de long : " & TRUC)
     If Left(NomAvant,13) = " \\tralala " Then
      'On met le nouveau chemin et on ajoute le reste
      TRUC = Right(NomAvant, (Len(NomAvant)-13))
      MsgBox("Reste de la chaine : " & TRUC)
      objDoc.AttachedTemplate = " \\choubidou " & Right(NomAvant, (Len(NomAvant)-13))
      objDoc.SaveAs(f.Path&"\S"&f1.name)
     End If
     objDoc.Close
     Set objDoc = nothing
    Next

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    J'ai pas compris, peux tu le refaire en plus explicite stp ?

  3. #3
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Pour désactiver l'exécution d'une macro à l'ouverture de word, regarde dans l'aide en ligne les options de la commande Open...

  4. #4
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Par défaut Trouvé ! mais autre pb !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'Ouverture du Word Sans activer la macro rattachée
     objWord.Application.WordBasic.DisableAutoMacros 1
     Set objDoc = objWord.Documents.Open(f1.Path)
    Maintenant, si ma macro rattachée est sous par exemple D:\\truc\macro.dot,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox ("Actuel:" & objDoc.AttachedTemplate)
    affichera
    Actuel:macro.dot
    alors que j'attends
    D:\\truc\macro.dot

    Euuhhh zolé pour la complexité de mon exposé....

Discussions similaires

  1. Changer le nom de l'exécutable dans le gestionnaire des tâches
    Par Sophie L. dans le forum Général Java
    Réponses: 3
    Dernier message: 25/08/2008, 14h51
  2. Réponses: 2
    Dernier message: 22/04/2008, 12h04
  3. changer le nom d'un TabPage dans un TabControl
    Par DEV-10 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 27/09/2007, 16h58
  4. [sql 2005]: changer le nom d'une colonne dans un table
    Par TheLittle dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/06/2006, 15h29
  5. Changer le "Nom de l'image" dans l'onglet processu
    Par Thomas1434 dans le forum Windows
    Réponses: 1
    Dernier message: 24/02/2006, 04h07

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