用于在 table 中添加列表格式的命令按钮和文本框

Command button and text box to add list formatting in a table

我正在尝试创建一个用户窗体,用户可以在其中将标题键入文本框并单击命令按钮以添加引用。我想要一个文本框和一个命令按钮来将新项目添加到 alpha 列表中的单独一行,类似于:

a) 参考标题1 b) 参考标题2 c) 参考标题3

每个列出的项目都在新的左对齐行上。

Private Sub CommandButton3_Click()
'Define the variable oVars
Set oVars = ActiveDocument.Variables
oVars("REF").Value = TextBox7.Value
ActiveDocument.Fields.Update
Me.TextBox7 = Null
Me.TextBox7.SetFocus

End Sub

enter image description here

这里有一张我正在努力完成的截图。上半部分是我创建的表格,下半部分是结果应该看起来的样子。我很抱歉不能更好地解释自己

我会通过在选中 'Content control cannot be deleted' 的文档中添加 Rich Text Format 内容控件来解决这个问题。如果您将此添加到格式为编号样式的段落中,则无需为条目编号。

下面的例程应该放在标准模块(即不是用户表单)中,如果它已经包含文本,将更新添加回车 return 的内容。

此方法的优点是,如有必要,无需用户窗体即可直接编辑控件中的文本,将自动更新,并可在文档的整个生命周期内重复添加。不像书签,它不能被删除。

Sub AddTextToContentControl(workDoc As Document, ccTitle As String, textToAdd As String)
  Dim ctrl As ContentControl
  Set ctrl = GetContentControlByTitle(workDoc, ccTitle)
  If Not ctrl Is Nothing Then
    If ctrl.ShowingPlaceholderText Then
      'replace the placeholder text
      ctrl.Range.text = textToAdd
    Else
      'add to the existing text
      ctrl.Range.text = ctrl.Range.text & vbcr & textToAdd
    End If
  End If
End Sub

您可以像这样从您的用户表单中调用它:

Private Sub CommandButton3_Click()
   AddTextToContentControl ActiveDocument, "References", TextBox7.Value
   Me.TextBox7 = Null
   Me.TextBox7.SetFocus
End Sub