如何控制 MS OLE 源书签创建以进行复制/粘贴?

如何控制 MS OLE 源书签创建以进行复制/粘贴?

不知何故,我的 MS Word 2016(Office 365)配置(在 Windows 10 下,当前级别)设置为每次我复制选定的材料并将其粘贴到其他地方时,源材料都会变成 OLE(源)对象/书签。我可以手动删除书签,但这样做变得极其乏味。我搜索了某种方法来控制这种行为,但一直找不到。

我的问题是;在 MS Word 文档中选择和复制材料时,如何关闭 OLE 对象(源)定义的创建?

答案1

这是一个宏,用于在创建书签后立即自动删除书签。它不会删除其他书签,只会删除以“OLE_LINK”开头的书签。

将其放在 Normal.dot 文件中是最好的。要找到它,请在功能区中启用“开发人员”选项卡,然后单击“Visual Basic”按钮。在那里,您可以在“Normal”标题中找到一个名为“ThisDocument”的文件。只需在该文件中输入以下代码,然后保存即可。

Sub EditCopy()
    Selection.Copy
    DoEvents
    Application.OnTime Now + TimeValue("00:00:01"), "DeleteOleBookmarks"
End Sub

Sub DeleteOleBookmarks()
    Dim bmIndex As Integer
    Dim bmType As String
    DoEvents
    For bmIndex = ActiveDocument.Bookmarks.Count To 1 Step -1
        bmType = UCase(Left(ActiveDocument.Bookmarks(bmIndex).Name, 8))
        If bmType = "OLE_LINK" Then
            ActiveDocument.Bookmarks(bmIndex).Delete
        End If
    Next bmIndex
End Sub

该代码是从这里复制的:
http://intrepidis.blogspot.co.uk/2018/05/ms-office-word-copy-text-and-it-puts.html

相关内容