Excel 循环子目录 子CheckandSend() 作为字符串的Dim strfile 将ws设置为工作表“确保定义工作表 设置ws=ThisWorkbook.Worksheets(“RFQ”) 图纸(“零件列表”)。选择 表格(“RFQ”)。选择 最后一排一样长 lastrow=ActiveSheet.Cells(Rows.Count,2).End(xlUp).Row 范围(“A6:E”和最后一行)。选择 Application.CutCopyMode=False 选择,复制 图纸(“零件列表”)。选择 单元格。选择 Selection.Paste特殊粘贴:=xlPasteValues,操作:=xlNone,SkipBlank_ :=假,转置:=假 Application.CutCopyMode=False 单元格。选择 Cells.EntireColumn.AutoFit Dim工作表2\u名称为字符串 WorkRFQ_Name=“Part list”'将其替换为要导出的第一张图纸的名称 设置WorkRFQ=ThisWorkbook.Worksheets(WorkRFQ\u名称) Dim以字符串形式写入目录 Dim WorkRFQ_路径作为字符串 Write_Directory=“P:\CENTRAL PLANNING\PROJECTS 2020-2021\VAM-TARSON\Newfolder1” WorkRFQ\u Path=Write\u目录&“\”&WorkRFQ\u名称 WorkRFQ.ExportAsFixedFormat_ 类型:=xlTypePDF_ 文件名:=工作请求路径_ 质量:=xlQualityStandard_ IncludeDocProperties:=True_ IgnorePrintAreas:=假_ OpenAfterPublish:=False 图纸(“零件列表”)。选择 列(“A:Z”)。选择 选择。删除 表格(“RFQ”)。选择 将源路径设置为字符串 SourcePath=“I:\Mechanical\ExternalProjects\Cummins Emission Systems\35101124 PT Cup试验台\16 PDF发送给供应商” 将路径设置为字符串 DestPath=“P:\CENTRAL PLANNING\PROJECTS 2020-2021\VAM-TARSON\Newfolder1” 暗淡无光 将f设置为搜索文件夹 将文件类型设置为字符串 filetype=“*.pdf” irow=7 Do While ws.Cells(irow,2)vbNullString 将文件名设置为字符串 FileName=Dir(SourcePath&ws.Cells(irow,2)和“*.pdf”) 当文件名为vbNullString时执行 VBA.FileCopy源路径和文件名,DestPath和文件名 FileName=Dir() 环 irow=irow+1 环 端接头

Excel 循环子目录 子CheckandSend() 作为字符串的Dim strfile 将ws设置为工作表“确保定义工作表 设置ws=ThisWorkbook.Worksheets(“RFQ”) 图纸(“零件列表”)。选择 表格(“RFQ”)。选择 最后一排一样长 lastrow=ActiveSheet.Cells(Rows.Count,2).End(xlUp).Row 范围(“A6:E”和最后一行)。选择 Application.CutCopyMode=False 选择,复制 图纸(“零件列表”)。选择 单元格。选择 Selection.Paste特殊粘贴:=xlPasteValues,操作:=xlNone,SkipBlank_ :=假,转置:=假 Application.CutCopyMode=False 单元格。选择 Cells.EntireColumn.AutoFit Dim工作表2\u名称为字符串 WorkRFQ_Name=“Part list”'将其替换为要导出的第一张图纸的名称 设置WorkRFQ=ThisWorkbook.Worksheets(WorkRFQ\u名称) Dim以字符串形式写入目录 Dim WorkRFQ_路径作为字符串 Write_Directory=“P:\CENTRAL PLANNING\PROJECTS 2020-2021\VAM-TARSON\Newfolder1” WorkRFQ\u Path=Write\u目录&“\”&WorkRFQ\u名称 WorkRFQ.ExportAsFixedFormat_ 类型:=xlTypePDF_ 文件名:=工作请求路径_ 质量:=xlQualityStandard_ IncludeDocProperties:=True_ IgnorePrintAreas:=假_ OpenAfterPublish:=False 图纸(“零件列表”)。选择 列(“A:Z”)。选择 选择。删除 表格(“RFQ”)。选择 将源路径设置为字符串 SourcePath=“I:\Mechanical\ExternalProjects\Cummins Emission Systems\35101124 PT Cup试验台\16 PDF发送给供应商” 将路径设置为字符串 DestPath=“P:\CENTRAL PLANNING\PROJECTS 2020-2021\VAM-TARSON\Newfolder1” 暗淡无光 将f设置为搜索文件夹 将文件类型设置为字符串 filetype=“*.pdf” irow=7 Do While ws.Cells(irow,2)vbNullString 将文件名设置为字符串 FileName=Dir(SourcePath&ws.Cells(irow,2)和“*.pdf”) 当文件名为vbNullString时执行 VBA.FileCopy源路径和文件名,DestPath和文件名 FileName=Dir() 环 irow=irow+1 环 端接头,excel,vba,directory,Excel,Vba,Directory,在这里,这段代码帮助我找到一个pdf文件,该文件存在于我的sourcepath中,并插入该文件并放置在我的destpath中 现在我落后的地方是,在我的sourcepath(pdf到供应商)中,在这个文件夹中有多个子文件夹之后,我需要一个代码,该代码在所有子文件夹中循环,找到我的文件并将其放在我的dest路径中 我的子文件夹看起来像是OP10、OP20、OP30……等等。这里有一个函数,它将返回给定起始位置和文件名模式的匹配文件对象的集合: '返回给定起始文件夹和文件模式的文件对象集合 '例如“

在这里,这段代码帮助我找到一个pdf文件,该文件存在于我的sourcepath中,并插入该文件并放置在我的destpath中 现在我落后的地方是,在我的sourcepath(pdf到供应商)中,在这个文件夹中有多个子文件夹之后,我需要一个代码,该代码在所有子文件夹中循环,找到我的文件并将其放在我的dest路径中


我的子文件夹看起来像是OP10、OP20、OP30……等等。

这里有一个函数,它将返回给定起始位置和文件名模式的匹配
文件
对象的集合:

'返回给定起始文件夹和文件模式的文件对象集合
'例如“*.txt”
'如果不想检查子文件夹,则为最后一个参数传递False
函数FileMatches(startFolder为字符串,filePattern为字符串_
作为集合的可选子文件夹(布尔值=True)
尺寸fso、fldr、f、副LDR

Dim colFiles As New Collection'这里有一个函数,它将返回给定起始位置和文件名模式的匹配
文件
对象的集合:

'返回给定起始文件夹和文件模式的文件对象集合
'例如“*.txt”
'如果不想检查子文件夹,则为最后一个参数传递False
函数FileMatches(startFolder为字符串,filePattern为字符串_
作为集合的可选子文件夹(布尔值=True)
尺寸fso、fldr、f、副LDR

Dim colFiles As New Collection“你能解释一下这个函数吗?它的哪一部分吗?在这里,我可以在哪里输入我的soucepath、destpath和搜索字符串。我已经更新了使用示例,说明它是如何插入到你的代码中的。如何声明文件匹配,当我运行它时显示-”错误的Arumnet数或无效的属性分配“听写文件匹配出现错误请解释此函数?它的哪一部分?在这里,我可以在哪里输入我的soucepath、destpath和搜索字符串。我已经更新了使用示例,以显示它如何插入到代码中。如何声明文件匹配,当我运行它时显示-“错误的arumnets数或无效的属性分配”口述文件匹配出现错误
Sub CheckandSend()
    Dim strfile As String
    Dim ws As Worksheet 'make sure to define a sheet
    Set ws = ThisWorkbook.Worksheets("RFQ")
    Sheets("Part list").Select
    Sheets("RFQ").Select
    Dim lastrow As Long
    lastrow = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
    Range("A6:E" & lastrow).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Part list").Select
    Cells.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Cells.Select
    Cells.EntireColumn.AutoFit
Dim Worksheet2_Name As String
WorkRFQ_Name = "Part list" ' Replace this with the name of the first sheet you want to export
Set WorkRFQ = ThisWorkbook.Worksheets(WorkRFQ_Name)
Dim Write_Directory As String
Dim WorkRFQ_Path As String
Write_Directory = "P:\CENTRAL PLANNING\PROJECTS 2020-2021\VAM-TARSON\Newfolder1\" 
WorkRFQ_Path = Write_Directory & "\" & WorkRFQ_Name
WorkRFQ.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    FileName:=WorkRFQ_Path, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
    
    Sheets("Part list").Select
    Columns("A:Z").Select
    Selection.Delete
    Sheets("RFQ").Select
    Dim SourcePath As String
    SourcePath = "I:\Mechanical\ExternalProjects\Cummins Emission Systems\35101124 PT Cup Test Rig\16 PDF to Vendor\"
    Dim DestPath As String
    DestPath = "P:\CENTRAL PLANNING\PROJECTS 2020-2021\VAM-TARSON\Newfolder1\"

    Dim irow As Long
    Dim f As SearchFolders
    Dim filetype As String
    filetype = "*.pdf"
    irow = 7
    
    Do While ws.Cells(irow, 2) <> vbNullString
        Dim FileName As String
        FileName = Dir(SourcePath & ws.Cells(irow, 2) & "*.pdf")
       
        Do While FileName <> vbNullString
            VBA.FileCopy SourcePath & FileName, DestPath & FileName
            FileName = Dir()
        Loop
        
        irow = irow + 1
    Loop
end sub