有一批word文档几百份,其中有大部分最后一页多了一页空白页请问怎么删除
先录制一个删除最后一页的宏,比如叫 Macro1
然后执行类似如下代码
Sub 批量操作WORD()
Dim path As String
Dim FileName As String
Dim worddoc As Document
Dim MyDir As String
MyDir = "G:\360data\重要数据\桌面\新建文件夹 (2)" '文件夹路径根据需要自己修改,需要处理的文件都放该文件夹内
FileName = Dir(MyDir & "\*.doc*", vbNormal)
Do Until FileName = ""
If FileName <> ThisDocument.Name Then
Set worddoc = Documents.Open(MyDir & "\" & FileName)
worddoc.Activate
Call Macro1 '调用宏,换成你自己宏的名字
worddoc.Close True
FileName = Dir()
End If
Loop
Set worddoc = Nothing
End Sub
参考 http://blog.sina.com.cn/s/blog_54be98b80102w0e0.html
如果空白页只有一行无法删除,这里可以先将光标定位到空白页上,然后右键选择“段落”,在属性框将“行距”设为“固定值”,值设置为“1磅”,然后确定,空白页就删除了。如果空白页在最后一页,可以先将光标定位到最后一页,然后按键盘上的“Delete”或“Backspace”键来删除空白页,最常用。如果Word中有多个空白页,那么可以利用查找替换来实现。按“Ctrl + H”打开查找替换窗口,然后单击“更多”或“高级”,在“特殊格式”中选择“手动分页符”
建议批量处理,用批文件方便
文档中有多个空白页需要删除时 可以利用查找 替换来删除
使用快捷键“Ctrl + H”打开查找替换窗口 单击“高级”或“更多”在“特殊格式”中选择“手动分页符
之后单击“全部替换”就将所有的空白页删除了
1.如果空白页在最后一页,可以先将光标定位到最后一页,然后按键盘上的“Delete”或“Backspace”键来删除空白页
2.如果Word中有多个空白页。按“Ctrl + H”打开查找替换窗口,然后单击“更多”或“高级”,在“特殊格式”中选择“手动分页符”,然后点击“全部替换”。
把所有的空白页选中,然后删除
试试删除空白行呢,删除所有空白行应该可以做到,引用那个免费版的https://www.e-iceblue.cn/Introduce/Free-Spire-Doc-NET.html,看看下面的代码有没有你需要的。
C#
using System;
using Spire.Doc;
using Spire.Doc.Documents;
namespace removeblankline
{
class Program
{
static void Main(string[] args)
{
//创建Document对象
Document doc = new Document();
//加载示例文档
doc.LoadFromFile(@"D:\testp\示例.docx");
//循环所有段落
foreach (Section section in doc.Sections)
{
for (int i = 0; i < section.Body.ChildObjects.Count; i++)
{
if (section.Body.ChildObjects[i].DocumentObjectType == DocumentObjectType.Paragraph)
{
//确定段落是否为空白段落
if (String.IsNullOrEmpty((section.Body.ChildObjects[i] as Paragraph).Text.Trim()))
{
//删除空白段落
section.Body.ChildObjects.Remove(section.Body.ChildObjects[i]);
i--;
}
}
}
}
//保存文档
doc.SaveToFile("删除空白段落.docx", FileFormat.Docx2013);
}
}
}