Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/01/2008, 10h55   #1
Invité de passage
 
Manu
Inscription : janvier 2008
Messages : 47
Détails du profil
Informations personnelles :
Nom : Manu
Âge : 26

Informations forums :
Inscription : janvier 2008
Messages : 47
Points : 1
Points : 1
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.
manu7762323 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 13h46   #2
Invité régulier
 
Inscription : septembre 2007
Messages : 12
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : septembre 2007
Messages : 12
Points : 9
Points : 9
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 :
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.
Banzai31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 17h03   #3
Invité de passage
 
Manu
Inscription : janvier 2008
Messages : 47
Détails du profil
Informations personnelles :
Nom : Manu
Âge : 26

Informations forums :
Inscription : janvier 2008
Messages : 47
Points : 1
Points : 1
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
manu7762323 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 15h01   #4
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
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 :
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 :
<img width=<largeur> height=<hauteur> src="<Ton_Fichier>/image001.gif">
par "%ATTACH"

A+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h11.


 
 
 
 
Partenaires

Hébergement Web