Ok, donc nous avons quelques sections uniques dans un modèle macro-activé pour Word 2007 et pour chaque section, nous avons 2 entrées qui sont standard pour le formulaire, et il y a environ 20 entrées optionnelles qui sont toutes gérées par AutoText. La mise en forme est identique entre le modèle et les entrées d'insertion automatique et je veux numéroter automatiquement les entrées lorsqu'elles sont ajoutées (soit par l'utilisateur en tapant la phrase clé Insertion automatique ou en appuyant sur un bouton sur le ruban pour l'insérer). Existe-t-il un moyen facile de faire cela? Voici le bloc de code où l'un de ces (numérotées) entrées est géré et ce que j'ai essayé de mettre en œuvre un système de numérotation d'autres suggestions sur d'autres forums (n'a pas pu trouver quelque chose d'utile ici):Existe-t-il une manière «élégante» d'adopter la numérotation automatique dans une macro Word 2007 (VBA)?
Case "cboFF"
SetMargins 0, 1, 1
Selection.ParagraphFormat.Space1
Selection.Text = "FINDINGS OF FACT" & vbLf
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Selection.Font.Bold = True
Selection.Font.Underline = wdUnderlineSingle
Selection.Collapse (wdCollapseEnd)
Selection.Text = vbLf
Selection.ParagraphFormat.SpaceAfter = 6
Selection.Collapse (wdCollapseEnd)
Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify
Selection.Font.Underline = wdUnderlineNone
Selection.Font.Bold = False
SetMargins 0, 1, 1
'With ListGalleries(wdNumberGallery).ListTemplates(1).ListLevels(1)
'.NumberFormat = "%1."
'.TrailingCharacter = wdTrailingTab
'.NumberStyle = wdListNumberStyleNone
'.NumberPosition = InchesToPoints(0.5)
'.Alignment = wdListLevelAlignLeft
'.TextPosition = InchesToPoints(0.5)
'.ResetOnHigher = 0
'.StartAt = 1
'AutoNumberOnFOF
Selection.Text = "On " & strDateFOF & ", an industrial appeals judge certified that the parties agreed to include the Jurisdictional History in the Board record solely for jurisdictional purposes." & vbLf
Selection.ParagraphFormat.SpaceAfter = 6
Selection.Collapse (wdCollapseEnd)
Select Case strCaseCategory
Case "IND", "IND SELF-I"
If frmIIOD.optII.Value = True Then
Selection.Text = "II-FF"
Selection.Range.InsertAutoText
Selection.Collapse (wdCollapseEnd)
Selection.Text = vbLf
Selection.ParagraphFormat.SpaceAfter = 6
Selection.Collapse (wdCollapseEnd)
GoToEnd
End If
If frmIIOD.optOD.Value = True Then
Selection.Text = "OD-FF"
Selection.Range.InsertAutoText
Selection.Collapse (wdCollapseEnd)
Selection.Text = vbLf
Selection.ParagraphFormat.SpaceAfter = 6
Selection.Collapse (wdCollapseEnd)
GoToEnd
End If
If frmIIOD.optNotNeeded.Value = True Then
Selection.Text = vbLf
Selection.ParagraphFormat.SpaceAfter = 6
Selection.Collapse (wdCollapseEnd)
End If
Case Else
'Do Nothing
End Select
Tous les commentaires constructifs seront très appréciés pour aider à résoudre ce problème. Je suis encore très novice en programmation et la majeure partie de mon expérience réside en C# et en Java.
Éditer: La structure du document est essentiellement un ensemble de listes détaillées contenant un texte juridique mis à jour par un utilisateur lorsque le processus d'appel passe par différentes étapes. Dans chacune des deux dernières sections, les listes détaillées doivent suivre un schéma de numérotation spécifique (num à .5 ", texte à 1", onglet à droite à 1 ") qui n'est pas natif de Word 2007. Un en-tête en gras s'affiche pour chaque L'insertion automatique sera ajoutée au besoin par l'utilisateur, le reste du document extrait les informations de notre base de données et contient les termes légaux nécessaires pour le document Pour commencer la numérotation pour chaque section individuellement, je pourrais terminer ceci:
pouvez-vous joindre un lien vers votre document pour une meilleure compréhension de la structure du document? –