从网页上或PDF中复制文字到Word中时,粘贴后的文字常常是各种各样的字体,有时还有不少乱码和其它符号,这个时候,我们常常使用选择性粘贴,然后选择粘贴为无格式文本,但是这个操作需要好几部才能完成,如果可以将选择性粘贴或者粘贴为无格式文本加入右键菜单,那就非常节省时间了。本文就来介绍一下如何将选择性粘贴或粘贴为无格式文本加入右键菜单或者Word 2007的快速访问栏。
首先说一下在右键菜单或快速访问栏(word 2007)中添加“选择性粘贴”.
如果使用的是Word 2003,那么在Word工具栏上右击,选择最下方的“自定义(C)…”,在自定义窗口上选择工具栏选项卡,在下面的选项中找到快捷菜单,将其勾选上,这时会出现一个快捷菜单的工具条,在自定义对话框中点击命令选项卡,在类别中找点击编辑,然后在右边的命令中选择“选择性粘贴”,用鼠标左键拖动选择性粘贴到快捷菜单上的文字——文字下,将其放在粘贴下面即可。
在Word 2007中,快捷菜单是不能像Word 2003中那样方便的进行自定义的,可以将选择性粘贴放到快速访问栏上。在Word 2007中,点击左上角的Office按钮,点击其下的Word选项,在弹出的word选项对话框中点击左边的自定义,在右侧的常用命令中找到选择性粘贴,将其添加到右侧的自定义快捷访问工具栏中,上下调整一下位置,点击确定即可。
虽然将选择性粘贴放到右键菜单了,但是要想进行无格式文本的粘贴还是要在选择性粘贴对话框中选择,如果可以直接在右键菜单或快捷访问栏中添加粘贴为无格式文本就非常省事了,这个也不是不可以办到,需要功过Word提供的宏语言来实现,具体步骤如下:
(1)在Word中按Alt + F11打开VBA编辑窗口。
(2)在左侧的工程窗口中找到Normal,点击其左边的加号将目录树展开,找到ThisDocument,双击将其打开。
(3)在其中粘贴如下代码:
'代码一 Sub 无格式文本() ‘为右键新增一个命令 Dim MyControl As CommandBarControl Set MyControl = Application.CommandBars(“text”).Controls.Add(Type:=msoControlButton) With MyControl .FaceId = 1250 .OnAction = “无格式粘贴” .Caption = “粘贴为无格式文本” End With End Sub
'代码二 Sub 无格式粘贴() ‘无格式粘贴 Macro Selection.PasteSpecial Link:=False, DataType:=wdPasteText, Placement:=wdInLine, DisplayAsIcon:=False End Sub
以上两段代码要配合使用才行。将代码保存后,在Word 2007的试图选项卡中点击宏—>查看宏,在列表中选择无格式文本,运行宏后,在右键菜单中就添加上一个名为无格式文本的项,如果想取消这个菜单项,可以运行以下的宏:
'代码三 Sub 重设右键菜单() ‘恢复原有设置 Application.CommandBars(“text”).Reset End Sub
如果想在右键菜单中添加选择性粘贴可以使用以下代码:
'代码四 Sub 右键菜单添加选择性粘贴() ‘直接将选择性粘贴命令加入右键 Dim NewButton As CommandBarButton Set NewButton = Application.CommandBars(“text”).Controls.Add(msoControlButton, ID:=755) End Sub
我运行怎么提示编译错误,无效字符呢 ?
你检查下代码是不是有错误啊。比如说英文引号变为中文引号了。
谢谢,问题已经解决了,主要按这上面文档的复制,会把双引号和单引号 自动变为 中文状态,全部修改成英文状态下的就可以了!
不客气。其实如果你升级到word 2010后,右键菜单中就继承了这个功能。
我喜欢,顶一个!
非常感谢。
呵呵,不客气。