Итак, у нас есть несколько уникальных разделов в шаблоне с поддержкой макросов для Word 2007 и для каждого раздела, у нас есть 2 записи, которые являются стандартными для формы, а затем есть около 20 дополнительных записей, которые все обрабатываются по автотексту. Форматирование идентично между шаблоном и записями AutoText, и я хочу автоматически указывать записи по мере их добавления (либо пользователем, вводя ключевую фразу AutoText, либо нажав кнопку на ленте, чтобы вставить ее). Есть ли простой способ сделать это? Вот блок кода, в котором один из них (пронумерованные) записей обрабатывается и то, что я пытался реализовать в виде схемы нумерации от других предложений на других форумах (не мог найти что-нибудь полезное здесь):Есть ли «элегантный» способ для автоматической автокоррекции в макросе 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
Любые конструктивные комментарии будут высоко оценены, чтобы помочь решить эту проблему. Я все еще очень новичок в программировании в целом, и большая часть моего опыта лежит на C# и Java.
Редактировать: Структура документа представляет собой набор подробных списков, содержащих юридический текст, который обновляется пользователем, поскольку процесс апелляции проходит через различные этапы. В каждом из последних двух разделов список элементов должен следовать определенной схеме нумерации (число в .5 ", текст в 1", правая вкладка в 1 "), которая не является родной для Word 2007. Для каждого выделенного выделенного заголовка из разделов, которые являются отправной точкой нумерации. Записи AutoText будут добавляться по мере необходимости пользователем. Остальная часть документа извлекает информацию из нашей базы данных и содержит юридическую формулировку, необходимую для документа. Если бы я мог просто фигурировать
0 Вы можете добавить ссылку на ваш документ, чтобы лучше понять структуру документа? –