Sub SaveAsPage() Dim PageCount As Integer, StartRange As Long, EndRange As Long, MyRange As Range, Fn As String, MyDoc As Document Dim SaveFileName$ SaveFileName = "c:\zj" '设置文件保存的路径和文件名,这里为c:\zj*.doc,*为页码序号 On Error Resume Next PageCount = Selection.Information(wdNumberOfPagesInDocument) ThisDocument.Range(0, 0).Select '将光标移至文档起点 For i = 1 To PageCount '设置循环次数 StartRange = Selection.Start '取得该页的第一个字符位置 Selection.EndKey Unit:=wdLine '将光标移动到该页首行的最后位置 Fn = ThisDocument.Range(StartRange, Selection.End - 1) '-1的目的是防止该页首行含有段落标记,导致出错. If i = PageCount Then '如果循环到达最后一页 EndRange = ThisDocument.Content.End '将文档最后位置赋值于EndRange Else Selection.GoToNext (wdGoToPage) '否则,将下一页的起始位置赋值于EndRange(等同于本页的最后位置) EndRange = Selection.Start End If Set MyRange = ThisDocument.Range(StartRange, EndRange) '将本页中的内容进行复制 MyRange.Copy Set MyDoc = Documents.Add '新建一空白文档 MyDoc.Range(0, 0).Paste '在文档开始处粘贴 ActiveDocument.SaveAs FileName:=SaveFileName & i & ".doc", FileFormat:= _ wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:= _ True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _ False, SaveNativePictureFormat:=False, SaveFormsData:=False, _ SaveAsAOCELetter:=False MyDoc.Close '关闭文档 Next End Sub 这个代码在VB6中如何实现
这样选择范围可以吗?
Dim PageCount As Integer, StartRange As Long, EndRange As Long, MyRange As Range, Fn As String, MyDoc As Document
Dim SaveFileName$
SaveFileName = "c:\zj" '设置文件保存的路径和文件名,这里为c:\zj*.doc,*为页码序号
On Error Resume Next
PageCount = Selection.Information(wdNumberOfPagesInDocument)
ThisDocument.Range(0, 0).Select '将光标移至文档起点
For i = 1 To PageCount '设置循环次数
StartRange = Selection.Start '取得该页的第一个字符位置
Selection.EndKey Unit:=wdLine '将光标移动到该页首行的最后位置
Fn = ThisDocument.Range(StartRange, Selection.End - 1) '-1的目的是防止该页首行含有段落标记,导致出错.
If i = PageCount Then '如果循环到达最后一页
EndRange = ThisDocument.Content.End '将文档最后位置赋值于EndRange
Else
Selection.GoToNext (wdGoToPage) '否则,将下一页的起始位置赋值于EndRange(等同于本页的最后位置)
EndRange = Selection.Start
End If
Set MyRange = ThisDocument.Range(StartRange, EndRange) '将本页中的内容进行复制
MyRange.Copy
Set MyDoc = Documents.Add '新建一空白文档
MyDoc.Range(0, 0).Paste '在文档开始处粘贴
ActiveDocument.SaveAs FileName:=SaveFileName & i & ".doc", FileFormat:= _
wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:= _
True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False
MyDoc.Close '关闭文档
Next
End Sub
这个代码在VB6中如何实现