Aide:Macro Word
Un article de Wikipédia, l'encyclopédie libre.
Cette page liste des macros Word facilitant certaines tâches sur Wikipédia avec le logiciel Word.
Sommaire |
[modifier] WikiWord
WikiWord est un modèle pour Word qui permet soit de convertir un document fini utilisant les styles "normaux" (gras, italique, etc.) en syntaxe Wikipédia, soit d'aider à la mise en page de texte au format Wikipédia. Il est basé sur un modèle de conversion pour SPIP.
Pour l'installer, copier le fichier "WikipediaX.dot" (X est le numero de version) dans le répertoire "modèles" de Word. Pour convertir, il suffit d'appuyer sur le bouton "Wikipédia" de la barre d'outil standard Wikipédia.
Important : Il vous faut absolument désactiver la conversion automatique des ['] en [] (dans Correction automatique/Lors de la frappe/Guillemets...). Autre solution : passer par le Bloc-Note de votre ordinateur qui reconvertira les apostrophes.
[modifier] Version 0.4
Fichier : media:Wikipedia4.dot (Fichier:Wikipedia4.dot)
Ajouts :
- Convertit l'italique en : ''texte''
- Convertit le gras en : '''texte'''
- Convertit le gras+italique en : '''''texte'''''
- Convertit le souligné en : [[texte]]
- Convertit les titres 1 en : ==texte==
- Convertit les titres 2 en : ===texte===
- Convertit les titres 3 en : ====texte====
Bugs connus :
"gras+italique" ne marche pas, c'est ''''' et non pas ''''.Bug réparé : gras italique
[modifier] Version 0.51
Fichier : media:Wikipedia51.dot (Fichier:Wikipedia51.dot)
Ajouts :
- Convertit les listes en * et #
- Convertit les tables en WikiSyntax
- Aide à l'édition : gras, italique, image, lien, titre (1,2,3)
- Nouvelle barre d'outils
Bugs connus :
- les styles (gras, italique, etc.) peuvent parfois être placés sur les retours à la ligne. Dans ce cas, il ne faudrait pas créer de WikiSyntax
[modifier] Version 0.52
Fichier : media:Wikipedia52.dot (Fichier:Wikipedia52.dot)
Ajouts :
- Nouvelle icônes dans la barre d'outils
- sélectionne automatiquement le mot sous le curseur au cas où aucun mot n'est selectionné quand on utilise la barre d'outils.
Bugs connus :
- Comme 0.51 pour les styles sur les retours à la ligne.
[modifier] Macros Word
L'objet de ces Macros Word, ainsi que des macros OpenOffice.org, est d'améliorer la production de Wikipédia en quantité et en qualité.
- en quantité :
- parce que désormais vous pourrez convertir vos propres écrits (exposé, article, etc.) en article Wikipédia en quelques clics ;
- parce que vous pourrez préparer des articles en étant déconnecté dans des lieux où vous avez accès à une documentation mais pas à Internet ou sans vous préoccuper de votre forfait.
- en qualité : car vous aurez le temps de les compléter et de les enrichir avant de les mettre en ligne sans craindre de conflits de modification, et vous pourrez utiliser les correcteurs orthographiques et grammaticaux des traitements de texte pour éviter certaines coquilles.
[modifier] Wikilien
Sub WikiLien()
' ajoute des doubles crochets autour du texte sélectionné
Selection.Copy
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = Selection.Text
.Replacement.Text = "" & Selection.Text & ""
.Forward = False
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
With Selection
If .Find.Forward = True Then
.Collapse Direction:=wdCollapseEnd
Else
.Collapse Direction:=wdCollapseEnd
End If
.Find.Execute Replace:=wdReplaceOne
If .Find.Forward = True Then
.Collapse Direction:=wdCollapseEnd
Else
.Collapse Direction:=wdCollapseEnd
End If
.Collapse Direction:=wdCollapseEnd
.MoveRight Unit:=wdWord, Count:=3
' .Find.Execute
End With
End Sub
[modifier] CurseurAlaFin
Sub CurseurAlaFin() ' place le curseur à la fin du texte sélectionné ' à utiliser par exemple à la suite de WikiLien
Selection.MoveRight Unit:=wdWord, Count:=3, Extend:=wdExtend
Selection.MoveLeft Unit:=wdCharacter, Count:=2, Extend:=wdExtend
Selection.Copy
Application.Run MacroName:="Normal.NewMacros.WikiLien"
Selection.MoveRight Unit:=wdWord, Count:=3
Selection.MoveLeft Unit:=wdCharacter, Count:=2
End Sub
[modifier] MiseEnCapitale
Sub MiseEnCapitale() ' met tous les caractères du texte sélectionné en capitales
With Selection.Font
.Name = "Times New Roman"
.Size = 12
.Bold = False
.Italic = False
.Underline = wdUnderlineNone
.UnderlineColor = wdColorAutomatic
.StrikeThrough = False
.DoubleStrikeThrough = False
.Outline = False
.Emboss = False
.Shadow = False
.Hidden = False
.SmallCaps = False
.AllCaps = True
.Color = wdColorAutomatic
.Engrave = False
.Superscript = False
.Subscript = False
.Spacing = 0
.Scaling = 100
.Position = 0
.Kerning = 0
.Animation = wdAnimationNone
End With
End Sub
[modifier] Discussion
Arno, tu t'occupes des tableaux ? Aoineko 10 fév 2004 à 12:00 (CET)
- Voui. --Père Duchesne 10 fév 2004 à 15:13 (CET)Voilà le script à intégrer à Wikipedia5.dot :
-
- Merci ! Par contre, je pensai a la WikiSyntax pour les tables. Ca serra pour la prochaine version ;o) Aoineko 11 fév 2004 à 10:39 (CET)
-
-
- Je ne comprends pas la différence que tu fais entre tables et tableaux ? --Père Duchesne 11 fév 2004 à 11:25 (CET)
-
-
-
-
- Je ne fait pas de difference entre tables et tableaux, mais entre HTML et WikiSyntax. Voir ici : http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide:_Using_tables (mais c'est vrai que c'est pas encore très utilisé). Aoineko 11 fév 2004 à 14:13 (CET)
-
-
| col1 | col2 | |
|---|---|---|
| row1 | abc | Égypte |
| row2 | Hug! | et voila... |
- Voici donc pour y répondre wp_wiki_tableau --Père Duchesne 11 fév 2004 à 16:07 (CET)
Sub wp_wiki_tableau()
Dim tableau As Table
Dim aRange As Range
For Each tableau In ActiveDocument.Tables
Dim i As Integer
Dim j As Integer
For i = 1 To tableau.Rows.Count
For j = 1 To tableau.Columns.Count
Selection.Find.ClearFormatting
If i = 1 Then
tableau.Cell(i, j).Range.InsertBefore "!"
Else
tableau.Cell(i, j).Range.InsertBefore "|"
End If
If j = 1 Then
If i = 1 Then
tableau.Cell(i, j).Range.InsertBefore "{| border=1 cellspacing=0 " & vbCrLf
Else
tableau.Cell(i, j).Range.InsertBefore "|- " & vbCrLf
End If
End If
If i = 1 Then
tableau.Cell(i, j).Range.InsertAfter " !"
Else
If j <> tableau.Columns.Count Then tableau.Cell(i, j).Range.InsertAfter " |"
End If
Next j
' tableau.Cell(i, tableau.Columns.Count).Range.InsertAfter vbCrLf & "|"
Next i
tableau.Cell(tableau.Rows.Count, tableau.Columns.Count).Range.InsertAfter vbCrLf & "|} "
Set aRange = tableau.ConvertToText(Separator:="*")
aRange.Style = wdStylePlainText
'teste si une ligne a bien été laissée avant et après le tableau
If aRange.Start > 1 Then
If ActiveDocument.Characters(aRange.Start - 2) <> Chr(13) Then
aRange.InsertBefore Chr(13)
End If
End If
' If ActiveDocument.Characters(aRange.End + 1) <> Chr(13) Then
' aRange.InsertAfter Chr(13)
' End If
Next tableau
RemplaceSeparateurEtoile
End Sub
Sub RemplaceSeparateurEtoile()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "|*|"
.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
With Selection.Find
.Text = "!*!"
.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
End Sub
[modifier] Exemple de wp_wiki_tableau
| col1 | col2 ! | |
|---|---|---|
| row1 | abc | Égypte |
| row2 | Hug! | et voila... |
Sub wp_tableau()
Dim tableau As Table
Dim aRange As Range
For Each tableau In ActiveDocument.Tables
Dim i As Integer
Dim j As Integer
For i = 1 To tableau.Rows.Count
For j = 1 To tableau.Columns.Count
Selection.Find.ClearFormatting
tableau.Cell(i, j).Range.InsertBefore "<td>"
If j = 1 Then
tableau.Cell(i, j).Range.InsertBefore "<tr> "
If i = 1 Then
tableau.Cell(i, j).Range.InsertBefore "<table> "
End If
End If
tableau.Cell(i, j).Range.InsertAfter " </td>"
Next j
tableau.Cell(i, tableau.Columns.Count).Range.InsertAfter "</tr> "
Next i
tableau.Cell(tableau.Rows.Count, tableau.Columns.Count).Range.InsertAfter "</table> "
Set aRange = tableau.ConvertToText(Separator:=" ")
aRange.Style = wdStylePlainText
'teste si une ligne a bien été laissée avant et après le tableau
If aRange.Start > 1 Then
If ActiveDocument.Characters(aRange.Start - 2) <> Chr(13) Then
aRange.InsertBefore Chr(13)
End If
End If
If ActiveDocument.Characters(aRange.End + 1) <> Chr(13) Then
aRange.InsertAfter Chr(13)
End If
Next tableau
End Sub
[modifier] Test :
| texte1 | texte2 | texte3 |
| texte4 | texte5 | texte6 |

