我未认真考虑你的思路,只做了一个将一个WORD文档按楼主所说每页分成一个文档的办法,请参考并运行以下代码: Sub SaveAsPage() Dim PageCount As Integer, StartRange As Long, EndRange As Long, MyRange As Range, Fn As String, MyDoc As Document On Error Resume Next PageCount = Selection.Information(wdNumberOfPagesInDocument) Range(0, 0).Select '将光标移至文档起点 For i = 1 To PageCount '设置循环次数 StartRange = Selection.Start '取得该页的第一个字符位置 Selection.EndKey Unit:=wdLine '将光标移动到该页首行的最后位置 Fn = Range(StartRange, Selection.End - 1) '-1的目的是防止该页首行含有段落标记,导致出错. If i = PageCount Then '如果循环到达最后一页 EndRange = ActiveDocument.Content.End '将文档最后位置赋值于EndRange Else Selection.GoToNext (wdGoToPage) '否则,将下一页的起始位置赋值于EndRange(等同于本页的最后位置) EndRange = Selection.Start End If Set MyRange = Range(StartRange, EndRange) '将本页中的内容进行复制 MyRange.Copy Set MyDoc = Documents.Add '新建一空白文档 MyDoc.Range(0, 0).Paste '在文档开始处粘贴 MyDoc.SaveAs FileName:=Fn '保存文档名 MyDoc.Close '关闭文档 Next End Sub
[此贴子已经被konggs于2007-2-1 20:00:18编辑过] |