WordVBA复制某一行,将这一行的内容作为文件名保存

如题, word 文档,复制第9行的内容,将第9行的文字作为文件名,保存在某个盘里。
宏应该怎么写

试试下面的代码,在网上找的:

Sub Word文件改名()
  Application.ScreenUpdating = False
   Down = MsgBox("请保证每个Word文档的第三行没有空行" & vbCrLf & "否则无法重命名,运行宏会出错" & vbCrLf & vbCrLf & "也不能出现第三行相同相等字段内容" & vbCrLf & "否则只能重命名到第一个打开的同名文档", vbQuestion + vbYesNo, "★☆  重命名时请注意 (1)  ☆★")
If Down = vbNo Then
    Exit Sub
  End If '选择“是”,执行下列操作
  Dim MyPath As String, i As Integer, myDoc As Document
  With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "选择要处理目标文件夹" & "——(给文档进行重命名)"
    If .Show = -1 Then
      MyPath = .SelectedItems(1)
    Else
      Exit Sub
    End If
  End With
  With Application.FileSearch
    .LookIn = MyPath
    .FileType = msoFileTypeWordDocuments
    If .Execute > 0 Then
      For i = 1 To .FoundFiles.Count
        Set myDoc = Documents.Open(FileName:=.FoundFiles(i))
      ' B可以替换的宏
' 以下是处理格式所录制的宏,可根据所需录制
Dim myS, myP As String
    myP = ActiveDocument.Path
    Selection.GoTo What:=wdGoToLine, Which:=wdGoToAbsolute, Count:=3 '修改数值可以以不同的行号命名
    Selection.EndKey wdLine
    Selection.HomeKey wdLine, wdExtend
    myS = Selection.Range.Text
    ActiveDocument.SaveAs FileName:=myP & "\" & myS & ".doc"
' 以上可以换成是你自己录制的宏
' C公共部分的代码
Application.DisplayAlerts = False '强制执行“是”
'ActiveDocument.Saved = True'强制执行“否”
ActiveDocument.Close '退出
  Next
    End If
  End With
  Application.ScreenUpdating = True
  MsgBox "所选文件夹内的Word已经重命名完毕!!!" & vbCrLf & "" & vbCrLf & "但不能对第二个同名文件进行重命名" & vbCrLf & "" & vbCrLf & "修改日期为当前时间的即是重命名后的文档", 64, "☆★批量处理完毕★☆"
ThisDocument.Application.Quit
End Sub

温馨提示:答案为网友推荐,仅供参考
相似回答