В дополнение к полезному ответу Lernkurve, я пришел к выводу, что « Специальная вставка ... » не выполняет эту работу, в то время как сопоставление нажатий клавиш с макросами, созданными из диалога «Вставить режим», делает. Так как его первые две опции применимы к Word 2013 и выше, любой, кто застрял в 2007 году, должен будет создавать и отображать макросы.
Запись макросов
Для записи макросов вам нужна вкладка « Разработчики » на ленте, в « Параметры Word/Популярные параметры».
Макросы для режимов вставки
Макросы, необходимые для выполнения работы, записанные путем ввода в меню выбора после вставки:
Sub PasteOriginal()
' Paste with option ‘original formatting’
Selection.PasteAndFormat (wdFormatOriginalFormatting)
End Sub
Sub PasteMatching()
' Paste with option ‘match destination’
Selection.PasteAndFormat (wdFormatSurroundingFormattingWithEmphasis)
End Sub
Sub PasteText()
' Paste with option ‘only text’
Selection.PasteAndFormat (wdFormatPlainText)
End Sub
Я сопоставил их с Ctrl+Alt+Shift+(< | | | >) для сохранения формата, только текста и формата слияния соответственно. Я выбрал клавиши-модификаторы Ctrl+Alt+Shift, чтобы избежать конфликтов с предопределенными сопоставлениями, в то время как (< | | | >) предложил мне оглянуться назад (к исходному формату), нейтрально и посмотреть вперед (к формату назначения), даже если это не совсем то, что происходит.
Значение опций
Значение параметров описано в MSDN следующим образом (я не проверил это полностью):
- Сохранить исходное форматирование (
wdFormatOriginalFormatting
): «Сохраняет оригинальное форматирование вставленного материала» - я предполагаю, что это включает стили, но интересно, что произойдет, если имена стилей столкнутся.Я предполагаю, что все текущее форматирование игнорируется.
- Форматирование слиянием (
wdFormatSurroundingFormattingWithEmphasis
): « Сопоставляет форматирование вставленного текста с форматированием окружающего текста» - я считаю, это означает, что символы из исходного текста и любого выделения (полужирный, курсив, _ подчеркивание _) вставляются в текущее форматирование , в то время как все остальное оригинальное форматирование игнорируется.
- Сохранить только текст (
wdFormatPlainText
): «Вставить как простой неформатированный текст». - Вставляются только символы из исходного текста в текущем формате.
Опции в Специальной Вставке
Я исследовал параметры в Paste Special…, записывая макросы для каждого параметра, как на скриншоте диалога в ответе Лернкурве. Некоторые из них, казалось, вели себя как сохраняющие формат (иногда выполняя нечетные дополнительные операции), другие как только текст, но ни один как формат слияния. (Чтобы получить все параметры, мне пришлось вставить текст с некоторым дополнительным форматированием, в противном случае я просто получил два параметра; мой набор параметров включал «Рисунок (метафайл Windows)», а не его скриншот.)
Это были результаты:
Sub SpecialPasteDoc() ' MS Office Word-document object
Selection.PasteSpecial Link:=False, DataType:=wdPasteOLEObject, Placement _
:=wdInLine, DisplayAsIcon:=False
End Sub
Sub SpecialPasteRTF() ' Formatted text (RTF)
Selection.PasteAndFormat (wdPasteDefault)
End Sub
Sub SpecialPastePlain() ' Unformatted text
Selection.PasteAndFormat (wdPasteDefault)
End Sub
Sub SpecialPastePic() ' Picture (Windows Metafile)
Selection.PasteAndFormat (wdPasteDefault)
End Sub
Sub SpecialPastePicEnhanced() ' Picture (Enhanced Metafile)
Selection.PasteAndFormat (wdPasteDefault)
End Sub
Sub SpecialPasteHTML() 'HTML Format
Selection.PasteSpecial Link:=False, DataType:=wdPasteHTML, Placement:= _
wdInLine, DisplayAsIcon:=False
End Sub
Sub SpecialPasteUnicodeText() ' Unformatted Unicode Text
Selection.PasteSpecial Link:=False, DataType:=20, Placement:=wdInLine, _
DisplayAsIcon:=False
End Sub