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 :

macro word remplacer image par texte


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2008
    Messages : 47
    Points : 13
    Points
    13
    Par défaut macro word remplacer image par texte
    Bonjour à tous,

    Voilà je suis inexpérimenté en macro et on m'a demandé dans mon entreprise de développer une macro word :


    Je vous explique le contexte :
    Migration de documents word (texte + beaucoup d'images) sur un TWiki.
    --> images uploadées sur le topic du wiki (en .zip)
    --> liens dans le texte vers les images, avec le code %ATTACHURL%/image001.jpg, %ATTACHURL%/image002.jpg, etc. pour les faire apparaître.


    Ce que la macro doit faire :
    1/ Enregistrement du document au format html pour récupérer toutes les images du document dans un dossier
    (ok pour moi, j'ai utilisé l'enregistrement macro)

    2/ Faire un zip de toutes les images de ce dossier (pour l'upload dans le topic du wiki)
    (peut-on le faire dans une macro word ? si oui comment ?)

    3/ Remplacer toutes les images du document par le lien %ATTACHURL%/image00x.jpg avec x les n° des images enregistrées (pour qu'elles apparaissent dans l'ordre par la suite).
    --> Sur ce dernier point je sèche...


    Voilà j'espère que j'ai été assez clair...merci d'avance pour votre aide.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Bonjour

    Pour le point n°2, voici un petit morceau de code (à intégrer dans la macro) que j'avais trouvé et qui fonctionne très bien sur WinXP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim oShell As Object
    Dim oZip As Object
       Open sZIPFileName For Output As #1
       Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
       Close #1
       Set oShell = CreateObject("Shell.Application")
       Set oZip = oShell.Namespace(sZIPFileName)
       oZip.CopyHere sFileName
       Do Until oZip.Items.Count = 1
          DoEvents
       Loop
       Set oZip = Nothing
       Set oShell = Nothing
    Pour le point n°3, je ne comprend pas bien.

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Janvier 2008
    Messages : 47
    Points : 13
    Points
    13
    Par défaut
    Merci pour le bout de code, je vais le tester.

    Pour le 3e point, je vais essayer d'etre plus clair avec un exemple. Imaginons que j'ai mon document word comme suit :

    ----------------
    Titre du document

    Zone de texte de quelques lignes par exemple

    ICI UNE IMAGE 1

    Zone de texte de quelques lignes

    ICI UNE IMAGE 2

    Zone de texte de quelques lignes

    ICI UNE IMAGE 3

    Zone de texte de quelques lignes

    Fin du document word
    ----------------

    J'ai un bout de code qui enregistre le document au format HTML et toutes les images du document sont enregistré dans un répertoire sous la forme image001.jpg, image002.jpg, image003.jpg, dans l'ordre d'apparition du document word.

    Après l'exécution de ma macro, il faudrait que le document word apparaissent de la manière suivante :

    ----------------
    Titre du document

    Zone de texte de quelques lignes par exemple

    %ATTACHURL%image001.jpg

    Zone de texte de quelques lignes

    %ATTACHURL%image002.jpg

    Zone de texte de quelques lignes

    %ATTACHURL%image003.jpg

    Zone de texte de quelques lignes

    Fin du document word
    ----------------

    Ainsi, je copierai ce résultat dans le topic du wiki et uploaderai les images (zippées) dans le wiki, et celles-ci s'afficheront tout de suite ! (grâce au lien %ATTACH....)
    J'espère avoir été plus clair cette fois-ci.

    Merci pour l'aide

  4. #4
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut Produire un doc Word en HTML
    Salut,


    Dans Word, tu écris une macro qui enregistre ton fichier en HTML, qui le fermes puis qui le réouvre (en mode texte)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Documents.Open filename:=<Ton_Fichier>, ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, Format:=wdOpenFormatText
    ainsi que tu as accès à ton code source de ta page puis tu remplaces directement tes balises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img width=<largeur> height=<hauteur> src="<Ton_Fichier>/image001.gif">
    par "%ATTACH"

    A+

Discussions similaires

  1. [VB + WORD] Remplacement d'un texte dans un signet
    Par mister3957 dans le forum VBA Word
    Réponses: 4
    Dernier message: 25/02/2014, 11h37
  2. remplacer image par flash avec texte à droite
    Par ml1234 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 16/08/2009, 17h31
  3. Créer un fichier word avec image et texte dedans
    Par nocolach dans le forum MATLAB
    Réponses: 3
    Dernier message: 02/07/2008, 00h19
  4. WORD : remplacement d'un texte dans en-tête
    Par richard038 dans le forum Langage
    Réponses: 4
    Dernier message: 10/02/2006, 18h55

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