Macro Word pour formater en BBCode

Voir le sujet précédent Voir le sujet suivant Aller en bas

Macro Word pour formater en BBCode

Message  mariedanj le Lun 7 Déc 2015 - 23:43

____Une façon plus simple de formater vos extraits avec les BBCodes du forum, via une macro avec Word.
Cette macro inclut le code pour l'italique, le gras, le soulignage, les espaces insécables et les tabulations. (N.B. Pour les tabulations, il faut impérativement avoir utilisé TAB, sinon cette macro ne les détecte pas.)

(Fait avec la version Word 2010, les termes ne sont peut-être pas pareils pour tout le monde, mais le code devrait être correct. )

Sous l'onglet Affichage / macro, cliquez sur la petite flèche puis : afficher les macros
Une fenêtre s'ouvre.
Nom de la macro: BBCode
Cliquez sur "Créer"
Une nouvelle fenêtre de Visual Basic s'ouvre où un code de base est inscrit : effacez-le et copiez le code suivant à la place.

code visual basic:
Code:
Sub BBCode()
'
' BBCode Macro
' Ajoute les codes BB à un texte.
'
    Selection.Find.ClearFormatting
    Selection.Find.Font.Underline = wdUnderlineSingle
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = ""
        .Replacement.Text = "[u]^&[/u]"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^s"
        .Replacement.Text = " "
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^t"
        .Replacement.Text = "[color=#FFFFFF]____[/color]"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Font.Italic = True
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = ""
        .Replacement.Text = "[i]^&[/i]"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Font.Bold = True
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = ""
        .Replacement.Text = "[b]^&[/b]"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Sauvegardez et voilà.

____Pour utiliser la macro, faites "afficher les macros", sélectionnez BBCode et cliquez sur "exécuter". Il est suggéré de copier l'extrait du texte que vous souhaiter publier dans un nouveau document, ainsi, la macro n'affectera pas TOUT votre document et ces quelques millier de pages...

bandehaute

____Pour les particularités propres à chacun de vous, l’utilisation de « remplacer » peut être extrêmement flexible. La fenêtre rechercher/remplacer peut s’agrandir en cliquant sur "plus>>".


____Tout en bas, il est possible alors de choisir avec précision l’objet à rechercher. Par exemple, la couleur de la police utilisée :


puis


____Cliquez OK et dans la zone "remplacer par", inscrivez le code à interchanger, dans ce cas-ci, ce sera
Code:
 [color=#DC143C]^&[/color]

Pour la couleur rouge en code hexadécimal. Le résultat devrait être ceci:


____Cliquez sur "remplacer tout" et voilà. Le symbole "^&" entre les deux pairs de crochets est primordial, il permet de conserver le texte entre les deux balises pour bien les encadrer. Cette technique peut s’appliquer à tout :
Code:
[b]^&[/b]
Code:
[i]^&[/i]
Code:
<b>^&</b>
Etc.

____À côté de la case "format", la case "spécial" offre d’autres catégories très intéressantes, comme la marque de paragraphe, de tabulation, de saut de page... Si vous vous trompez, il est possible d’effacer le tout en cliquant sur "sans attribut". Voilà, testez et explorez les options, ça vaut la peine pour sauver du temps et s’épargner des frustrations.
avatar
mariedanj
Prosopopée scintillante
Prosopopée scintillante

Serpent Sagittaire

Date d'inscription : 24/09/2015
Nombre de messages : 1623
Avatar © : moi

http://www.mariedanjou.com

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum