如题, 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
温馨提示:答案为网友推荐,仅供参考