Nota SPIP-Contrib : une contribution déjà ancienne (une des première sur SPIP-Contrib en fait, mais qui semble encore d’actualité avec SPIP 1.9 ... n’hésitez pas à faire remonter via le forum toute éventuelle précision ou correction nécessaire
Pas à pas
L’installation
- renommer « macro_word.dot » en « Document Spip.dot » (c’est plus joli !) ;
- copier « Document Spip.dot » dans C :\Program Files\Microsoft Office\Modèles\Autres Documents [1] ;
- Démarrer Word ;
- choisir Fichier->Nouveau->Autres Documents->Document Spip.dot ;
- Taper du texte en utilisant les styles proposés ;
- Puis générer du texte au format SPIP dans un nouveau document en cliquant sur la petite baguette magique sous « Edition ».
Fonctionnement
Cette macro est composée de plusieurs sous-macros. « versSpip » étant la macro principale appelant les autres une à une, dans un ordre bien défini.
Ces macros sont indissociables des styles qui viennent avec le fichier « macro_word.dot ».
Elles utilsent plus particulièrement les styles :
- wdStyleNormal (« Normal »)
- wdStyleHeading1 (« Titre 1 »)
- wdStyleHeading2 (« Titre 2 »)
- wdStyleHeading3 (« Titre 3 »)
- wdStyleList (« Liste »)
- wdStyleHyperlink (« Lien Hypertexte »)
- « Code »
- « Lien en code SPIP »
- « Html »
« versSpip » effectue les transformations suivantes :
- passe les paragraphes n’utilisant pas un des styles précédents au style « Normal » ;
- transforme les paragraphes de style « Titre 1 » en :
{{{texte}}}
; - transforme les paragraphes de style « Titre 2 » en :
{{texte}}<br />
; - transforme les paragraphes de style « Titre 3 » en :
{texte}<br />
; - transforme le texte italique+gras (même dans les tableaux) en :
{{ {texte} }}
; - transforme le texte italique (même dans les tableaux) en :
{texte}
; - transforme le texte gras (même dans les tableaux) en :
{{texte}}
; - transforme les tableaux Word en tableaux SPIP en ajoutant un saut de ligne avant et après si nécessaire ;
- transforme les sauts de ligne individuels entre deux paragraphes de style « Normal » en :
<br />
; - transforme les paragraphes de style « Liste » en :
- texte
; - transforme les notes Word en note SPIP :
[[une note]]
; - transforme le texte gris (style « Code ») en :
texte
; - transforme le texte vert pas beau (style « Html ») en :
<html>texte</html>
; - transforme les liens Hypertexte de Word en :
[lien->adresse du lien]
(le style « Lien en code SPIP » ne fait que colorier du texte en bleu et permet d’écrire directement les liens avec la syntaxe de SPIP. Le texte ne sera pas modifié.) ; - transforme les images (flottantes ou non) en :
<IMGn|left>
(n étant leur ordre d’apparition dans le document) ; - créée un nouveau document avec le code SPIP généré et en effectue une copie dans le presse-papier.
Les bugs
- Si le document source commence (ou fini) par un tableau la macro plante : la macro vérifie si une ligne a bien été sautée avant (et après) le tableau, sinon SPIP ne le reconnaîtra pas. Or s’il n’y a aucun caractère avant (après) le tableau, le test de VisualBasic ne marche pas ??? Donc, la solution est simple ... Ne commencez pas votre document par un tableau et, si votre document fini par un tableau, sautez une ligne juste après !
- Si les lignes d’un même tableau n’ont pas toutes le même nombre de colonnes la macro plante : C’est normal ! SPIP ne gère que des tableaux simples.
- Problème de "<br />"
imbriqué dans des accolades dans le code généré : Si, par exemple, la fonction Find de Visual Basic recherche du texte en gras. Le texte trouvé est sélectionné, puis la macro reformate le tout pour SPIP... Malheureusement avec Word, si vous finissez une ligne par du texte en gras, le saut de ligne est aussi en gras. Bref, « texte_en_grasPtexteP » sera remplacé par "{{texte_en_gras<br />P}}texteP"
. Et ceci peut causer quelques problèmes dans des cas extrèmes. Je cherche une facon d’obtenir "{{texte_en_gras}}<br />PtexteP"
, mais je n’y arrive pas. Donc, avis aux pros du VB, si vous avez une solution, je suis preneur.
Discussions par date d’activité
38 discussions
Suite à l’article de PileFace, le site référencé est à vendre.
Est-ce que quelqu’un connait « SpipEdit » et est-ce que le résultat est valable ?
Si c’est un programme sympa, est-ce qu’il existe encore et est-il mis à jour ?
Merci.
Webmaster Sports Center
Excellente macro, qui m’évite des heures de travail pour coller de l’italique dans des bibliographies. L’auteur en soit remercié jusqu’à la fin des temps ! Bien préparer ses documents word, et poï basta ! On aura rangé la macro où on veut (extension de fichier dotm), on l’ouvre, on choisit le fichier à cconvertir, on file dans spip et on colle. On relit. Point !
Répondre à ce message
Est-ce que cette macro, que j’utilise avec bonheur avec Office 2000, fonctionne avec Office 2007 ?
J’aimerais le savoir, au cas où, pour l’un des sites dont je m’occupe, un nouveau rédacteur utilisant office 2007 serait intéressé par cette formidable macro.
Merci d’avance
Bonjour,
Ayant téléchargé une version d’évaluation de MS Word 2007, j’ai testé la macro de conversion d’Alexis, malheureusement le 1er test effectué montre que si la macro fonctionne avec MS Word 2007 (on retrouve le bouton poussoir), le résultat de la conversion sur le seul et unique fichier créé pour l’occasion n’est pas satisfaisant.
Correction et test sur :
http://h2fooko.free.fr/spip.php?article24
je me répond à moi-même :
çà marche très bien !
Et pour avoir la Macro Word dans les modèles, quand on fait Nouveau> Mes Modèles... ,
Maintenant, lorsque vous faites Nouveau> Mes Modèles... , vous avez alors parmis les modèles proposés, « Document Spip.dotm », la versions Word 2007 de « Document Spip.dot ».
Et « Document Spip.dotm » fonctionne aussi bien sous Word 2007 que « Document Spip.dot » fonctionnait avec Word 97 , 2000 et 2003.
Répondre à ce message
Existe-t-il l’équivalent pour word sur Mac ?
Merci.
La macro marche bien dans « Office 2004 » pour Mac OS X, mais n’est pas accepté par « Office 2008 ».
Répondre à ce message
La Macro plante pour les colspan et les rowspan (cellules fusionnées en lignes et colonnes).
Ca à déjà été signalé quelque part dans les commentaires, mais sans réaction...
Sachant que les raccourcis typographiques spip gèrent :
|<|
|^|
... il doit y avoir un moyen d’intégrer ça à la macro.
J’ai vu une macro word pour vba qui gère les colspan ici , mais je n’y comprends rien aux macros word. J’ai bien l’impression qu’il y a des éléments en trop et d’autres qui manquent (la gestion du rowspan ?), mais je nage...
Une piste ?
Répondre à ce message
existe il une mise à jour pour SPIP 191 ou 192 ?
Pas de mise à jour, mais ce n’est pas nécessaire, cette version fonctionne parfaitement, je ne sais pas trop pourquoi c’est dans les archives ! ?
pourquoi ? .. parce que personne n’avait exprimé clairement sa validité à ce jour, ou qu’aucun admin ayant l’information ne s’était penché sur la question. Voici donc cette contrib sortie des archives (plus quelques compléments cf. forum de rédac)
Merci pour cet avis
@+ NicolasR
Répondre à ce message
pour faire focntionner la macro sosu XP vous devez la mettre dans :
C :\Documents and Settings\julien\Application Data\Microsoft\Modèles
julien est mon nom d’utilisateur
Sous Windows 2000 Pro aussi
En fait ça dépend où tu as mis tes modèles. Il suffit de faire Outils / Modèles et compléments / Attacher et là tu vois où sont stockés les modèles.
Vous avez maintenant mieux : spipedit
Téléchargement : http://www.spipedit.com/
Son utilisation m’a grandement facilité la récupération de textes scannés en format éditable et reprise d’articles Internet
Je prépare mes articles SPIP sous Word et les convertit très correctement avec spipedit : italique, gras, retour à la ligne, même les titres si vous utilisez un titre Word de façon homogène.
http://www.pileface.com
Répondre à ce message
Bonjour,
quelqu’un connait-il un editeur ou une macro qui ferait exactement l’inverse de ce que peut réaliser cette macro ??!!
c’est à dire pouvoir d’un texte spipé (avec tous les tags typographiques propres à spip, aller vers u ntxte qui serait :
- soit rendu en texte pur sans style (pas de gras, titre, ...)
- soit rendu avec toutes les nuances typgraphiques (gras, italic, ...) que l’on pourra réediter dans word ou autre .
Merci
si ton site est bien fait ca marche tout seul de IE6 vers word avec un simple copier coller d’un article
va voir sur www.pyrat.net. Copie le corps de l’article avec son titre colle le dans word. Tu récupères tout très proprement. avec meme le plan dans l’explorateur de document, c’est bluffant
Répondre à ce message
Voici une solution au bug des accolades et italiques imbriqués dans des sauts de lignes ou de paragraphe :
Avant d’executer les remplacements italique et paragraphes, exécuter la macro suivante :
Répondre à ce message
Cette macro est-elle compatible avec Word 2003 ?
mais oui elle est compatible avec word 2003 !
sans problème !
je l’ai testé à pluieurs reprises !
ps : personnelement je prépare une amélioratio nde cette contributio nalors soyez patients !
@+
Répondre à ce message
Salut,
J’ai modifié la macro comme suit, sinon ça plantais avec des grands tableaux :
’ Convertion des tableaux Word en format SPIP
’ remarques : - des espaces sont rajoutés en fin de cellule pour contourner le problème des cases vides
Sub spip_tableau()
…
If ActiveDocument.Characters.Count > aRange.End Then
If ActiveDocument.Characters(aRange.End + 1) <> Chr(13) Then
aRange.InsertAfter Chr(13)
End If
End If
…
End Sub
Sinon très bien ta macro ;-)
Antoine
Débutant en « word » (je le resterais bien, m’enfin), je ne trouve pas comment on peut modifier la macro. Elle s’affiche systématiquement en « ne peut pas être modifiée » quand on essaie de l’éditer via les commandes word…
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |