Forms 如何创建允许上述插入的MS Word表单区域?

Forms 如何创建允许上述插入的MS Word表单区域?,forms,vba,ms-office,ms-word,Forms,Vba,Ms Office,Ms Word,我想在MicrosoftWord中创建一个表单,它非常动态,允许用户添加多个区域。相关数据包含按子代排序的特定于日期的事件。如果插入新事件,它必须显示在区域列表的顶部 据我所知,您只能在最后一个区域下插入新区域。是否有可能改变这一点,或者我必须实现一个带有Word宏的代码段才能启用它 编辑(简历-示例): 小学-19xx-19xx(我称这条线为“地区”) 学院-19xx-19xx '.'-Date1-Date2(+) 所以这是按升序排序的。错了!如果我按下+-按钮,将在下方插入一个新区域。我

我想在MicrosoftWord中创建一个表单,它非常动态,允许用户添加多个区域。相关数据包含按子代排序的特定于日期的事件。如果插入新事件,它必须显示在区域列表的顶部

据我所知,您只能在最后一个区域下插入新区域。是否有可能改变这一点,或者我必须实现一个带有Word宏的代码段才能启用它

编辑(简历-示例):

  • 小学-19xx-19xx(我称这条线为“地区”)
  • 学院-19xx-19xx
  • '.'-Date1-Date2(+)
所以这是按升序排序的。错了!如果我按下+-按钮,将在下方插入一个新区域。我想实现这样的目标:

  • '.'-Date1-Date2(+)
  • 学院-19xx-19xx
  • 小学-19xx-19xx

上面会自动插入一个新区域。

您是否需要在MS word中的word文档中插入文本,类似这样的操作


要在旧区域上方插入新区域,只需右键单击现有区域并“在上方插入元素”


使用书签的VBA方法:

  • 定义要在其中添加新文本的书签,例如,在标题之后但在其他区域之前

  • 添加VBA代码模块并输入以下宏:

    Option Explicit
    
    Sub AddNewLine(psText As String)
        '***** Go to bookmark
        Selection.GoTo What:=wdGoToBookmark, Name:="[NAMEOFBOOKMARK]"
        '***** Place cursor at end of bookmark
        Selection.Collapse Direction:=WdCollapseDirection.wdCollapseEnd
        '***** Add new line
        Selection.TypeParagraph
        '***** Add text or whatever
        Selection.TypeText psText
    End Sub
    
  • 将行
    Selection.TypeText psText
    替换为要添加的内容-我的示例只是从子参数输入文本字符串


  • 我们可以举一个例子或示例来说明您在这里想要实现的目标吗?您所说的
    地区是什么意思?在MS Word中,对象没有任何相关的名称类型,因此您需要更清楚地解释。您是否尝试过使用书签?我对我的解决方案非常满意。但是,您的建议是否只适用于纯文本,还是也可以“复制”内容控件?这就是我所需要的。我的建议只适用于添加文本。也可以复制ContentControls,但我还没有尝试过。至少可以通过word对象模型访问它们,如
    ThisDocument.ContentControls.Item(1).Copy