从其他文档粘贴时,如何防止样式被引入目标文档



我已经为我的同事设置了一个MS Word文档(.docx(,用于样板文本和整齐排序的样式,以便从样式库中进行选择。问题是,它们经常从其他文档粘贴,从而在模板中引入新的样式。通过格式限制将它们限制为几个样式是不可行的,因为这也会禁用字体格式。下面的代码(部分取自这个问题(有点像我想要的,但可能有更好的选择吗?

Sub EditPaste()
'PURPOSE: Prevent styles from other documents from being introduced into this document.

Dim k As Long
k = ActiveDocument.Styles.Count

Selection.Range.Paste
If k <> ActiveDocument.Styles.Count Then
ActiveDocument.Undo
On Error GoTo F
Selection.PasteSpecial Link:=False, _
DataType:=wdPasteText, Placement:=wdInLine, _
DisplayAsIcon:=False
Exit Sub
F:  MsgBox ("An error has occurred.")
End If
End Sub

我不会截取标准的粘贴命令。粘贴表或字段等格式化内容将不起作用。相反,使用一个具有备用组合键的宏(如Alt+V(来运行这样的宏:

Sub PasteUnformattedText()
On Error GoTo ClipboardNotText
Selection.PasteSpecial DataType:=wdPasteText
Exit Sub
ClipboardNotText:
Err.Clear
On Error GoTo ClipboardNotUnicodeText
Selection.PasteSpecial DataType:=22 'Paste Unicode Text
Exit Sub
ClipboardNotUnicodeText:
Selection.Paste
Err.Clear
End Sub

最新更新