【问题标题】:How to create a MS-Word-Form-Region which allows above-insertion?如何创建允许上述插入的 MS-Word-Form-Region?
【发布时间】:2015-06-18 20:14:01
【问题描述】:

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

据我所知,您只能在最后一个区域下插入新区域。是否有可能更改此设置,或者我是否必须使用 Word-Macros 实现 sn-p 才能启用它?

编辑(简历 - 示例):

  • 小学 - 19xx - 19xx(我将这条线称为“地区”)
  • 大学 - 19xx - 19xx
  • '__' - Date1 - Date2 (+)

所以这是按升序排序的。错误的!如果我按下 + 按钮,则会在下方插入一个新区域。我想实现这样的目标:

  • '__' - Date1 - Date2 (+)
  • 大学 - 19xx - 19xx
  • 小学 - 19xx - 19xx

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

【问题讨论】:

  • 我们可以提供一个示例或示例来说明您在此处尝试实现的目标吗?
  • region 是什么意思?在 MS Word 中没有任何相关的对象名称类型,因此您需要更清楚地解释。
  • 你试过使用书签吗?

标签: forms vba ms-office ms-word


【解决方案1】:

您是否需要在 MS Word 的 word 文档中插入文本,像这样,

https://support.microsoft.com/en-us/kb/212682?wa=wsignin1.0

【讨论】:

    【解决方案2】:

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

    https://msdn.microsoft.com/EN-US/library/office/jj889465.aspx

    【讨论】:

      【解决方案3】:

      使用书签的VBA方法:

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

      2. 添加一个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
        
      3. Selection.TypeText psText 行替换为您要添加的任何内容 - 我的示例只是从 sub 参数输入文本字符串。

      【讨论】:

      • 我对我的解决方案非常满意。但是您的建议是否仅适用于纯文本,或者是否也可以“复制”内容控件?这正是我所需要的。
      • 我的建议仅适用于添加文本。也应该可以复制 ContentControls,但我还没有尝试过。至少它们可以通过词对象模型访问,如ThisDocument.ContentControls.Item(1).Copy
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-09
      • 1970-01-01
      • 1970-01-01
      • 2011-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多