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文档按页拆分并按页存成文件.现在想把文档中表格的的值赋在文件名中,从而实现自动化命名

解决方案 »

  1.   

    呵呵。那你就要先调整你的光标到你的第三行的第二列,然后
    用Selection.MoveRight Unit:=wdCell, Count:=1, Extend:=wdMove 来选中你单元格里面的内容。
    nameText=Selection.Text  
    'Selection.Text就是你单元格里面的内容。
    然后用saveas "路径\" &  nameText & ".doc" 来保存你的文件。
    有问题再找我。呵呵。
      

  2.   

    假如你的表格名为atable,你要选择的是第三行的第二列:
    dim fnameas string    '设个变量,存取表格中的内容
    fname=atable.Cell(3,2).Range.text
    这样文件名就可以确定了!然后利用SaveAs保存就好了!
    如果当中的表格不知是何名称时,可以这个表格是利用文档中的第几个表格来确定:
    fname=ActiveDocument.Tables(1). Cell(3,2).Range.text