Excel 在较大的查询中提取两个单词之间的文本
感谢您抽出时间阅读我的请求。我已经尝试在这个网站上使用一些答案,但我没有得到我想要的。我试过这个: 我试图选择一个总是在两个相同单词之间的数字。在所有CAP中,它介于账号和重要的是之间,不确定CAP/No caps是否表示它 我正在创建一个宏,在其中打开一个word文档,比如200页。我想打开每个页面,并将其保存为具有特定名称的pdf。我已经将代码运行到我打开并保存为PDF的位置。我想做的是,在代码中,找到账号和重要信息之间的文本,选择并复制它。此文本是一个帐号 然后,当我去保存文件时,我希望它粘贴帐号作为文件名。或者有一个引用,当它找到账号时,它将其分配给一个变量。我是VBA新手,所以如果你能描述一下,请用外行的术语说明。谢谢大家! 我的宏:Excel 在较大的查询中提取两个单词之间的文本,excel,pdf,ms-word,vba,Excel,Pdf,Ms Word,Vba,感谢您抽出时间阅读我的请求。我已经尝试在这个网站上使用一些答案,但我没有得到我想要的。我试过这个: 我试图选择一个总是在两个相同单词之间的数字。在所有CAP中,它介于账号和重要的是之间,不确定CAP/No caps是否表示它 我正在创建一个宏,在其中打开一个word文档,比如200页。我想打开每个页面,并将其保存为具有特定名称的pdf。我已经将代码运行到我打开并保存为PDF的位置。我想做的是,在代码中,找到账号和重要信息之间的文本,选择并复制它。此文本是一个帐号 然后,当我去保存文件时,我希望它
Sub CutePDFWriter()
Dim FName, FPath, username, LoanNo As String
Dim wordapp As Word.Application
Dim wordDoc As Word.Document
Dim i As Integer
Dim rngParagraphs As Range
'open doc and export as a pdf
Set wordapp = CreateObject("word.Application")
Set wordDoc = wordapp.Documents.Open("G:\test.doc")
For i = 1 To wordDoc.BuiltinDocumentProperties("Number of Pages")
**Here is where I want to add the “Find and Select” code**
'set variable strings
FPath = "G:\Excel Doc Tests\"
FName = "___**Here is where I want the acct nbr to go_______"** & i & ""
wordDoc.ExportAsFixedFormat FPath & FName & "-escrtax", ExportFormat:=wdExportFormatPDF, Range:=wdExportFromTo, From:=i, To:=i
Next i
'empty word doc objects
wordDoc.Close (False)
wordapp.Quit
End Sub
我在那个链接上对问题添加了一条评论,这使得他的代码能够正常工作。但我花了很多时间在这上面:用胡说八道的账号进行测试:123-456重要的胡说八道:
Option Explicit
Sub Sub1()
Dim i&, FName$ ' I presume
Dim i1&, i2&, s1$, rngDoc As Range
Selection.HomeKey wdStory ' ?
i1 = getPoint("Account No.:", 1) ' get start
i2 = getPoint("IMPORTANT", 2) ' get end
Set rngDoc = ActiveDocument.Range(i1, i2)
s1 = rngDoc.Text
FName = "Prefix" & s1 & "Postfix" & Str$(i)
Stop ' and hover over FName
End Sub
Function getPoint&(sText$, iStart&) ' 1 for start, 2 for end
With Selection.Find
.Text = sText
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = True
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.Execute
End With
If iStart = 1 Then
getPoint = Selection.End
Else
getPoint = Selection.Start
End If
End Function
非常感谢。我将如何引用我的原始查询?对不起,我是新手。非常感谢您的帮助。我在查询中找到了它,但在word文档中循环并选择当前页面时遇到了问题。它在整个i上循环,但是在:For i=1 To wordDoc.BuiltinDocumentProperties页数之后,我定位了子/结束子,以及一些如何需要引用选择的内容,因此当它进入函数时,它知道选择是什么。我已经尝试了Selection.GoTo What:=wdGoToPage,Which:=I,bookmarks\page等。。。。不走运。建议?谢谢