1. 如何通过VBA 知道word中 某一行的内容
Sub PageLine()
nPage = InputBox(Chr(13) &; "输入要查看的页数。", "文本的页数", 13)
nLine = InputBox(Chr(13) &; "输入要查看的行数。", "查看的行数", 7)
Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=nPage
Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Name:=nLine - 1
Selection.Extend
Selection.EndKey Unit:=wdLine
Selection.EscapeKey
MsgBox Selection.Range
End Sub
2. WordVBA复制某一行,将这一行的内容作为文件名保存
试试下面的代码,在网上找的:
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
转载请注明出处51数据库 » wordvba获取第一行的内容