命令按钮和文本框可在表中添加列表格式

问题描述

我正在尝试创建一个用户窗体,其中用户在文本框中键入标题,然后单击命令按钮以添加引用。我希望一个文本框和一个命令按钮将新项目添加到类似于以下内容的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

有一个我要完成的屏幕截图。上部是我创建的表单,底部是希望的结果。很抱歉无法更好地解释自己

解决方法

我将通过向文档中添加“无法删除内容控件”的RTF格式内容控件来解决此问题。如果将其添加到以编号样式设置的段落中,则无需为条目编号。

下面的例程应该放置在标准模块(即非用户表单)中,如果其中已经包含文本,则会更新内容并添加回车符。

此方法的优点是,控件中的文本可以根据需要直接编辑,而无需用户表单,可以自动更新,并且可以在文档的整个生命周期中重复添加。与书签不同,它无法删除。

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...