Как управлять созданием исходной закладки MS OLE для копирования / вставки?
Каким-то образом моя конфигурация MS Word 2016 (Office 365) (в Windows 10, текущий уровень) настроена так, что каждый раз, когда я копирую выбранный материал и вставляю его в другое место, исходный материал становится объектом / закладкой OLE (источник). Я могу вручную удалить закладку, но это становится утомительно до крайности. Я искал способ контролировать это поведение, но не смог его найти.
Мой вопрос Как отключить создание определения объекта (источника) OLE при выборе и копировании материала в документе MS Word?
1 ответ
Вот макрос для автоматического удаления закладок сразу после их создания. Он не удаляет другие закладки, только те, которые начинаются с "OLE_LINK".
Лучшее место для этого - файл Normal.dot. Чтобы найти это, включите вкладку "Разработчик" на ленте, а затем нажмите кнопку Visual Basic. Там вы можете найти файл с названием "ThisDocument" внутри заголовка "Normal". Внутри этого файла просто поместите следующий код и сохраните его.
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