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 '在文档开始处粘贴
'如何把word中表格中的第三行的第二列的值赋在文件名里面??? ActiveDocument.SaveAs FileName:=ActiveDocument.Path & "File" & 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
这个宏是我从网上搜来的.目的是完成把word文档按页拆分并按页存成文件.现在想把文档中表格的的值赋在文件名中,从而实现自动化命名
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 '在文档开始处粘贴
'如何把word中表格中的第三行的第二列的值赋在文件名里面??? ActiveDocument.SaveAs FileName:=ActiveDocument.Path & "File" & 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
这个宏是我从网上搜来的.目的是完成把word文档按页拆分并按页存成文件.现在想把文档中表格的的值赋在文件名中,从而实现自动化命名
解决方案 »
- 请教,遍历工作表汇总符合条件的单元格数值到指定单元格
- [求助] 寻找游戏血蓝内存地址
- 如何动态设置LISTVIEW控件的列宽,因为要进行动态显示数据!!!
- 高手救命呵,有关Activex的参数问题,在线等,,,,,,,
- 我有急问题,快帮帮忙,谢谢,高分
- 关于语句on error goto 语句
- 谁告诉我,怎么样识别选中的子菜单的哪个选项阿?我用子菜单中的item方法怎么说是无效参数呢?
- VB的msflexgrid表格控件的滚轮滚动后,在页面上是第四行,实际上它已经是第10行了,我单击这行将这行信息显示在text中,显示的是滚轮没滚动前的第四行,
- Help me!!! 在VB中调用Inet控件时当本地的文件路径,或文件名里面出现空格时则相应的文件便上传不到服务器?应怎样解决这个问题阿?
- 如何用DataGrid控件显示数据库中某一个表的内容?
- 用vb怎么实现文件的实时监控呢?陈辉老师帮我解决一下,请大家帮忙解决伊下?
- 有上海开发vb的高人吗,我是免费童工?谁愿意收留一下
用Selection.MoveRight Unit:=wdCell, Count:=1, Extend:=wdMove 来选中你单元格里面的内容。
nameText=Selection.Text
'Selection.Text就是你单元格里面的内容。
然后用saveas "路径\" & nameText & ".doc" 来保存你的文件。
有问题再找我。呵呵。
dim fnameas string '设个变量,存取表格中的内容
fname=atable.Cell(3,2).Range.text
这样文件名就可以确定了!然后利用SaveAs保存就好了!
如果当中的表格不知是何名称时,可以这个表格是利用文档中的第几个表格来确定:
fname=ActiveDocument.Tables(1). Cell(3,2).Range.text