SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

150 visiteurs en ce moment

fontsizeup fontsizedown
[57 commentaires]

Macro Word

mardi 14 janvier 2003, par alexis

  • Digg
  • Del.icio.us
  • Facebook
  • Google
  • Technorati
0 vote

Macro pour convertir un document Microsoft© Word 97 au format SPIP 1.3

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 :

  1. passe les paragraphes n’utilisant pas un des styles précédents au style "Normal" ;
  2. transforme les paragraphes de style "Titre 1" en :

 ;

  1. transforme les paragraphes de style "Titre 2" en :

 ;

  1. transforme les paragraphes de style "Titre 3" en :

 ;

  1. transforme le texte italique+gras (même dans les tableaux) en :

 ;

  1. transforme le texte italique (même dans les tableaux) en :

 ;

  1. transforme le texte gras (même dans les tableaux) en :

 ;

  1. transforme les tableaux Word en tableaux SPIP en ajoutant un saut de ligne avant et après si nécessaire ;
  2. transforme les sauts de ligne individuels entre deux paragraphes de style "Normal" en :

 ;

  1. transforme les paragraphes de style "Liste" en :

 ;

  1. transforme les notes Word en note SPIP :

 ;

  1. transforme le texte gris (style "Code") en : texte ;
  2. transforme le texte vert pas beau (style "Html") en :

 ;

  1. transforme les liens Hypertexte de Word en :

(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é.) ;

  1. transforme les images (flottantes ou non) en :

(n étant leur ordre d’apparition dans le document) ;

  1. 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

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

. Et ceci peut causer quelques problèmes dans des cas extrèmes. Je cherche une facon d’obtenir

, mais je n’y arrive pas. Donc, avis aux pros du VB, si vous avez une solution, je suis preneur.

P.-S.

Note des admins : cette macro a été créée par Alexis. Denis a ajouté la gestion des liens internes.

Notes

[1] Nota SPIP-Contrib : chemin valable si vous travaillez sous Windows, à adapter pour les autres environnement

Retour en haut de la page

57 Messages de forum

Voir toute la discussion

Pages 1 | 2 | 3 | 4 | 5 | 6

  • Répondre à ce message

    3 octobre 16:32 , par Fennec72

    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... ,

    1. ouvrir le "Document Spip.dot" dans word 2007,
    2. un bandeau "Avertissement de sécurité Les macros ont été désactivées." s’affiche,
    3. cliquez sur Options..., puis sur Activer le contenu puis OK
    4. Enregistrer sous>Modèles Word et choisir en haut de la colonne de gauche "Modèles approuvés",
    5. choisir alors, dans "Type de fichier", "Modèle Word prenant en charge les macros (*.dotm)

    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

    10 août 18:05 , par H2Fooko

    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?art...

  • Répondre à ce message

    4 juin 10:39 , par Abel

    La macro marche bien dans "Office 2004" pour Mac OS X, mais n’est pas accepté par "Office 2008".

  • Répondre à ce message

    26 mai 16:42 , par aleks

    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 :

    • les lignes fusionnées
      |<|
    • et les colonnes fusionnées :
      |^|

    ... 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

    17 avril 12:36 , par Fennec72

    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

  • Répondre à ce message

    9 décembre 2007 17:52 , par NicolasR

    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

    9 décembre 2007 15:56 , par L’instit

    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 ! ?

  • Répondre à ce message

    12 octobre 2007 09:17 , par remi

    existe il une mise à jour pour SPIP 191 ou 192 ?

  • Répondre à ce message

    14 septembre 2007 11:29 , par Pierre Martel

    Existe-t-il l’équivalent pour word sur Mac ? Merci.

  • Répondre à ce message

    25 août 2006 00:52 , par pileface

    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

Pages 1 | 2 | 3 | 4 | 5 | 6

Répondre à cet article

Retour en haut de la page

Ça discute par ici

SPIP | Squelette | | Plan du site | Suivre la vie du site RSS 2.0