我是一个使用Excel的初学者,有一些问题。
Clarification:
G:\NEWFOLDER\NAMEFOLDER下的文件夹包含扩展名为.doc、.docx和.pdf的文件,我希望搜索整个文件夹并返回到Sheet2上的电子表格。
Dim NAME As String
Dim File_Path As String
NAME = InputBox(" Enter Your NAME (EX: JOHNP) ")
File_Path = "G:\NEWFOLDER\NAMEFOLDER" & NAME & ".docx"
If Dir(File_Path) <> "" Then
ThisWorkbook.Sheets("Sheet2").Activate
Range("D5") = ("Checked")
Range("E5") = NAME
Else
MsgBox "NAME Not found"
End If
End SubClarification:
上面的代码只告诉我用户输入是否位于编码路径内。我想要做的下一步是在文档中搜索关键字并向电子表格报告。例如,在JOHNP.doc中有一个age列。我要代码用"22“向Sheet2单元报告。
是否可以使用word文档搜索,或者如果JOHNP采用excel格式更好?
发布于 2018-04-02 15:59:54
这将对您有所帮助--这将遍历指定文件夹位置中的文件(如果存在的话),并且只针对.doc、.docx或.pdf的文件。
至于你的第二个问题-是的,你可以从你的文档中提取这个号码,但是,你需要更具体地知道这个号码在哪里。如果每次都在同一个位置,那么这将相当容易--希望在Table中是这样,那么它就会有一个显式引用(比如ActiveDocument.Tables(1).Cells(1,1)等)。现在,下面的代码将遍历所有文件,当它找到第一个匹配时,它将为您打开单词document (然后退出循环)。
Sub Test()
Dim NAME As String
Dim File_Path As String
Dim StrFile As String
NAME = InputBox(" Enter Your NAME (EX: JOHNP) ")
File_Path = "G:\NEWFOLDER\NAMEFOLDER\" & NAME & "\"
StrFile = Dir(File_Path)
If Dir(File_Path) <> "" Then
Do While Len(StrFile) > 0
If InStr(StrFile, ".doc") > 0 Or _
InStr(StrFile, ".pdf") > 0 Then
Debug.Print StrFile
'ThisWorkbook.Sheets("Sheet2").Range("D5") = ("Checked")
'ThisWorkbook.Sheets("Sheet2").Range("E5") = NAME
If InStr(StrFile, ".doc") > 0 Then
Set wordapp = CreateObject("word.Application")
wordapp.documents.Open File_Path & StrFile
wordapp.Visible = True
Exit Do
End If
End If
StrFile = Dir
Loop
Else
MsgBox NAME & " Not found"
End If
End Subhttps://stackoverflow.com/questions/49613953
复制相似问题