[Macro WORD] Comment insérer plusieurs images ?

Comment insérer plusieurs images ? [Macro WORD] - Divers - Programmation

Marsh Posté le 24-09-2007 à 11:31:02    

Bonjour à tous,
 
Tout d'abord, je m'excuse par avance si mon message n'a rien à faire ici, je ne savais pas trop où le poster.
 
Mon problème :
 
J'ai besoin d'insérer des images, à raison d'une image par page, dans un fichier Word (ou autre, je ne suis pas sectaire...Openoffice ?).
 
Le but de la manoeuvre est en fait de créer un album de façon automatique, en spécifiant uniquement le répertoire où se trouve les images d'origines.
 
L'algo serait un truc comme ça :
   - Demander le répertoire à l'utilisateur
   - Parcourir le répertoire et pour chaque image :
     -  Insérer l'image
     -  Insérer un saut de page.
 
Je me suis dit que la façon la plus simple est probablement de faire une macro...le truc c'est que je n'en ai jamais fait une seule de ma vie, et que je ne sais pas trop par où commencer. :(  
 
Je suis donc à la recherche de piste pour faire tout ça.
 
Merci pour tout


---------------
Dans la vie, il y a 10 types de personnes ; ceux qui comprennent le binaire et les autres...
Reply

Marsh Posté le 24-09-2007 à 11:31:02   

Reply

Marsh Posté le 24-09-2007 à 11:42:46    

bonjour,
la macro semble un bon moyen pour commencer.
Regarde le code que te donne le macro recorder pour t'en servir par la suite :
Outils>Macro>Nouvelle Macro
ca te permettra d'abord de voir le code qu'il te faut pour insérer une image. UNe fois ce code compris, tu peux passer par des méthodes un peu complexes, mais que je pourrais te donner dans la foulée.

 

Bon courage :)
edit : si un admin peut basculer le topic dans VBA ca serait cool :)


Message édité par jpcheck le 24-09-2007 à 11:43:26
Reply

Marsh Posté le 24-09-2007 à 12:08:44    

:wahoo:  
 
Effectivement, c'est un bon début :
 
Sub MacroAlbum()
'
' MacroAlbum Macro
' Macro enregistrée le 24/09/2007 par Alexandre Perraud (X065546)
'
    ChangeFileOpenDirectory _
        "C:\Documents and Settings\X065546\Bureau\[is]yokohama_kaidashi_kikou_v12\"
    Selection.InlineShapes.AddPicture FileName:= _
        "C:\Documents and Settings\X065546\Bureau\[is]yokohama_kaidashi_kikou_v12\Yokohama Kaidashi Kikou v12 c111 004.jpg" _
        , LinkToFile:=False, SaveWithDocument:=True
    Selection.InsertBreak Type:=wdPageBreak
End Sub

 
Bon bah y'a plus qu'à insérer un boite de dialogue et un boucle sur tout ça...
 
 

Reply

Marsh Posté le 24-09-2007 à 15:56:51    

Bon bah je crois que j'ai réussi :sol:  
 
Je vous en fait profiter au cas où...
 
Merci jpcheck  :hello:  
 
 
Sub MacroAlbum()
 
  Dim fs, f, f1, fc, s
  With Dialogs(wdDialogFileFind)
    .Display
    ChangeFileOpenDirectory .SearchPath
    Set fs = CreateObject("Scripting.FileSystemObject" )
    Set f = fs.GetFolder(.SearchPath)
    Set fc = f.Files
    For Each f1 In fc
      Selection.InlineShapes.AddPicture FileName:=f1.Name
      Selection.InsertBreak Type:=wdPageBreak
    Next
  End With
   
End Sub


Message édité par Corbax le 24-09-2007 à 15:57:09
Reply

Marsh Posté le 08-07-2010 à 08:26:21    

Bonjour,
 
Je me permets de réanimer ce topic car je suis dans le même cas de figure mais la macro précédente ne fonctionne pas.
 
Je m'explique, je travaille sous word2000 et je dois régulièrement composer avec de nombreuses images jpg pour des rapports. Malheureuseument word2000 permet l'ouverture fichier par fichier donc je perds un temps fou.
J'ai essayé la macro du topic mais je récupère des images "vides".
 
Ayant bien compris l'attrait des macros mais ne réussissant pas à la modifier comme je le souhaite, est-ce que quelqu'un peut m'aider pour une compatibilité avec word2000 ?
 
Pour les mêmes fonction de la macro: ouverture ds dossier pour récupérer les images qu'il contient avec un saut de ligne entre chaques images.
 
 
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed