论文部分内容阅读
同事前来求助,图1所示的文档,其中有许多文本框,同事希望将这些文本框删除,但仍然保留其中的文字内容。在“开始”选项,在“编辑”功能组依次选择“选择→选择窗格”,此时会显示当前文档中所有的文本框,按住Ctrl键即可批量选择文本框,但这样删除会将包括文字在内的内容也一起删除,除了手工操作之外,有没有更简单高效的实现方法呢?
1.借助写字板实现转换
按下“Ctrl+A”组合键全选文档,按下“Ctrl+C”组合键将它复制到剪贴板;打开写字板,按下“Ctrl+V”组合键粘贴内容,很快就可以看到图2所示的纯文字效果,但保留了原来的格式,此时会出现许多空白段落,看起来很不美观。
接下来只要将它粘贴回Word,按下“Ctrl+H”组合键打开替换对话框,查找“^p^p”并替换为空就可以了。
2.借助VBA代码实现转换
其实也可以借助VBA代码完成这一导出任务,打开汇总工作簿,按下“Alt+F11”组合键,打开Microsoft Visual Basic for Applications编辑器窗口,依次选择“插入→模块”,在右侧窗格插入一个空白模块,在这里手工输入或粘贴如下代码:
Sub test()
Dim shp As Shape, i As Integer
For i = ActiveDocument.Shapes.Count To 1 Step -1
Set shp = ActiveDocument.Shapes(i)
Debug.Print shp.Name
nr = nr & shp.TextFrame.TextRange.Text & vbCrLf
shp.Delete
Next
ActiveDocument.Content.Text = nr
End Sub
上述代码检查无误之后,依次选择“文件→关闭并返回到Microsoft Word”命令,返回Word主界面,按下“Alt+F8”组合键,打开“宏”对话框,选择并运行宏,很快就可以看到图3所示的效果,這里同样会出现许多空白的段落,按照前面的方法替换即可。
1.借助写字板实现转换
按下“Ctrl+A”组合键全选文档,按下“Ctrl+C”组合键将它复制到剪贴板;打开写字板,按下“Ctrl+V”组合键粘贴内容,很快就可以看到图2所示的纯文字效果,但保留了原来的格式,此时会出现许多空白段落,看起来很不美观。
接下来只要将它粘贴回Word,按下“Ctrl+H”组合键打开替换对话框,查找“^p^p”并替换为空就可以了。
2.借助VBA代码实现转换
其实也可以借助VBA代码完成这一导出任务,打开汇总工作簿,按下“Alt+F11”组合键,打开Microsoft Visual Basic for Applications编辑器窗口,依次选择“插入→模块”,在右侧窗格插入一个空白模块,在这里手工输入或粘贴如下代码:
Sub test()
Dim shp As Shape, i As Integer
For i = ActiveDocument.Shapes.Count To 1 Step -1
Set shp = ActiveDocument.Shapes(i)
Debug.Print shp.Name
nr = nr & shp.TextFrame.TextRange.Text & vbCrLf
shp.Delete
Next
ActiveDocument.Content.Text = nr
End Sub
上述代码检查无误之后,依次选择“文件→关闭并返回到Microsoft Word”命令,返回Word主界面,按下“Alt+F8”组合键,打开“宏”对话框,选择并运行宏,很快就可以看到图3所示的效果,這里同样会出现许多空白的段落,按照前面的方法替换即可。