用户登录
用户注册

分享至

wordvba获取第一行的内容

  • 作者: 槲寄生96859426
  • 来源: 51数据库
  • 2020-06-05

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获取第一行的内容

软件
前端设计
程序设计
Java相关