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

VBA Word Discussion :

Ajouter un objet à la place d'une recherche .Find [WD-2010]


Sujet :

VBA Word

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Juin 2017
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2017
    Messages : 54
    Points : 49
    Points
    49
    Par défaut Ajouter un objet à la place d'une recherche .Find
    Je reviens vers vous car j'ai quelques difficultés sur l'ajout d'un objet.
    Je souhaite ajouter un objet à la place d'une balise que j'ai préalablement positionné dans un template.

    Je parviens parfaitement à effectuer la recherche et la remplacer, mais je ne parviens pas à positionnner mon objet au niveau du mot trouvé (Selection.).

    Si vous avez quelques idées, je suis preneur
    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
    Sub Macro()
        'Definition du Document
        Dim WordDoc As Document
        Set WordDoc = ThisDocument
     
        'recherche et remplace
        balise = "<DOC>"
        nom = ""
        With WordDoc.Content.Find
            .ClearFormatting
            .Text = balise
            .Replacement.Text = nom
            .Forward = True
            .Wrap = wdFindContinue
            .Execute Replace:=wdReplaceAll
        End With
     
        'ajout de l'objet
        Selection.InlineShapes.AddOLEObject ClassType:="xmlfile", FileName:= _
            "Q:\file.xml" _
            , LinkToFile:=True, DisplayAsIcon:=True, IconFileName:= _
            "C:\windows\System32\msxml3.dll", IconIndex:=0, IconLabel:= _
            "file.xml"
    End Sub

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Tu devrais essayer avec un Selection.Find qui te donnes en résultat un objet Selection.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Juin 2017
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2017
    Messages : 54
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par Heureux-oli Voir le message
    Salut,

    Tu devrais essayer avec un Selection.Find qui te donnes en résultat un objet Selection.
    J'ai trouvé la solution que je cherchais

    Etant donné que je travaillais depuis Excel, j'avais besoin de spécifier sur quelle application devait se faire la sélection

    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
    Sub macro()
        'Ouverture du fichier WordDoc
        Dim Template As String
        Template = ThisWorkbook.Worksheets(1).Range("A1")
     
        Dim WordDocApp As Object, WordDoc As Document
        Set WordDocApp = CreateObject("Word.Application")
        Set WordDoc = WordDocApp.Documents.Open(Template, ReadOnly:=False)
        WordDocApp.Visible = True
        WordDocApp.WindowState = wdWindowStateMaximize
     
        'recherche et remplace
        balise = "<DOC>"
        nom = ""
        With WordDocApp.Selection.Find
            .ClearFormatting
            .Text = balise
            .Replacement.Text = nom
            .Forward = True
            .Wrap = wdFindContinue
            .Execute Replace:=wdReplaceAll
        End With
     
        'ajout de l'objet
        WordDocApp.Selection.InlineShapes.AddOLEObject ClassType:="xmlfile", Filename:= _
            "Q:\file.xml" _
            , LinkToFile:=True, DisplayAsIcon:=True, IconFileName:= _
            "C:\windows\System32\msxml3.dll", IconIndex:=0, IconLabel:= _
            "file.xml"
    End Sub

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

Discussions similaires

  1. [XL-2010] Ajouter un objet à la place d'une recherche .Find
    Par chth26 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/07/2017, 17h12
  2. Recherche classe pour ajout/modif/suppression d'articles dans une base de donnée
    Par will89 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 02/02/2007, 11h59
  3. [PHP-JS] Mise en place d'une fonction recherche
    Par barbapapa2 dans le forum Langage
    Réponses: 6
    Dernier message: 02/12/2006, 19h03
  4. [VBA-WORD] Recherche et ajout d'objet
    Par Isabella dans le forum VBA Word
    Réponses: 2
    Dernier message: 19/09/2006, 09h59
  5. [VB.NET] Quel objet tableau pour une recherche indexée ???
    Par Kitano dans le forum Windows Forms
    Réponses: 7
    Dernier message: 02/09/2004, 09h38

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