Word - 如何在文档 B 中显示文档 A 中的一段文本,并且当我在文档 A 或 B 中更改它时实时更新?

Word - 如何在文档 B 中显示文档 A 中的一段文本,并且当我在文档 A 或 B 中更改它时实时更新?

是否可以在多个其他文档(文档 B、文档 C 和 D)中显示文档 A 中的某个部分(例如段落),以便当我在文档 A、文档 B、文档 C 或文档 D 中编辑它时,它会自动更新所有其他文档中的该段落?

这些段落通常也有要点

目前,我一直在使用超链接来解决这个问题,所以当我到达文档 B 中的某个点,然后想要查看文档 A 中的某个特定段落和一些要点时,我有一个超链接可以将我带到文档 A 中的书签,然后我就可以看到/编辑该段落。

是否可以将文档 A 中的这部分文本嵌入到文档 B 中,以便我可以直接查看和编辑它,而不必单击链接并物理打开文档 A 来查看和编辑它?

本质上几乎就像一个“实时镜像”,所以它是同一部分文本,但同时嵌入到不同的文档中?

例如,请参见这张在油漆上绘制的图表:示例图

我将非常感激任何关于如何做到这一点的建议

提前谢谢了

答案1

Word 中确实没有内置方法可以实现此功能。

我要做的是,将这些规定保存在自动图文集全局模板并使用自动图文集字段将它们插入到文档中。

如果您想修改自动图文集条目,您实际上是在文档中输入自动图文集,进行修改,然后重新保存该条目。

您将需要更新文档中的自动图文集字段。这可能在打印时发生,也可能不发生,具体取决于用户设置。下面是一个执行此操作的宏。

Sub UpdateAllAutoText()
'   Update all AutoText fields in a document, even if in headers/footers or textboxes
    ' https://gregmaxey.com/word_tip_pages/word_fields.html
    ' November 12, 2020 Charles Kenyon
    Dim rngstory As Word.range
    Dim lngValidate As Long ' do not know purpose of this - CK
    Dim oShp As Shape
    Dim oStory As range
    Dim oField As Field

    lngValidate = ActiveDocument.Sections(1).Headers(1).range.StoryType ' do not know purpose of this
    For Each rngstory In ActiveDocument.StoryRanges
      'Iterate through all linked stories
        For Each oField In oStory.Fields
            If oField.Type = wdFieldAutoText Then oField.Update
        Next oField
      Do
        On Error Resume Next
        For Each oField In rngstory.Fields
            If oField.Type = wdFieldAutoText Then oField.Update
        Next oField
            
        Select Case rngstory.StoryType
          Case 6, 7, 8, 9, 10, 11
            If rngstory.ShapeRange.Count > 0 Then
              For Each oShp In rngstory.ShapeRange
                If oShp.TextFrame.HasText Then
                    For Each oField In oShp.TextFrame.Fields
                        If oField.Type = wdFieldAutoText Then oField.Update
                    Next oField
                End If
              Next
            End If
          Case Else
            'Do Nothing
        End Select
        On Error GoTo 0
        'Get next linked story (if any)
        Set rngstory = rngstory.NextStoryRange
      Loop Until rngstory Is Nothing
    Next
    '
    Set oStory = Nothing
    Set oField = Nothing
    Set rngstory = Nothing
    Set oShp = Nothing
End Sub

同样,如果无法访问包含自动图文集条目的模板,该字段将无法在外部计算机上工作。在将文档发送给其他人之前,您需要取消链接该字段。

这是一个用于取消文档中的自动图文集字段链接的宏。

Sub UnlinkAllAutoText()
'   Unlink all AutoText fields in a document, even if in headers/footers or textboxes
'   Based on code at http://www.gmayor.com/installing_macro.htm
'   Charles Kenyon
'   2 Sept 2020
'
    Dim oStory As range
    Dim oField As Field
    '
    For Each oStory In ActiveDocument.StoryRanges
        For Each oField In oStory.Fields
            If oField.Type = wdFieldAutoText Then oField.Unlink
        Next oField
        '
        If oStory.StoryType <> wdMainTextStory Then
            While Not (oStory.NextStoryRange Is Nothing)
            Set oStory = oStory.NextStoryRange
                For Each oField In oStory.Fields
                    If oField.Type = wdFieldAutoText Then oField.Unlink
                Next oField
            Wend
        End If
        '
    Next oStory
    '
    Set oStory = Nothing
    Set oField = Nothing
End Sub

我倾向于使用文档模板具有这些字段的文档。当我想要发送或打印文档时,我会根据模板创建一个新文档。模板具有在创建文档时更新和取消链接自动文本字段的宏。文档模板的宏和 AutoNew 宏显示在我的页面中Microsoft Word 中的样板语言

披露:有关全局和文档模​​板的链接转到我的 Microsoft Word 模板网页。

相关内容