Sub Save_PDF_Papers_5()  
  '(ByVal fname As String)  '--------------------------------------
  'DECLARE AND SET VARIABLES
  Dim c1 As Range, c2 As Range, rng1 As Range, rng2 As Range
  Dim d As Object, p2 As String, count As Long
  Dim LastRow As Long, fn As String, rn
  Dim wsM As Worksheet, wsC As Worksheet, i As Long
  'Dim fso As Object, pf as object  'Late Binding
  Dim fso As FileSystemObject, pf As Folder 'Early Binding
  
  p2 = "C:\Users\test\Documents\"
   'p2 = CreateObject("WScript.Shell").SpecialFolders("MyDocuments") & "\"
  
  'Set objects
  Set wsM = Worksheets("Main")
  Set wsC = Worksheets("Candidate")
  Set rng1 = wsM.Range("D5", wsM.Cells(Rows.count, "D").End(xlUp))
  Set rng2 = wsC.Range("B2", wsC.Cells(Rows.count, "B").End(xlUp))
  Set fso = CreateObject("Scripting.FileSystemObject")


  With fso
    'CREATE INDIVIDUAL FOLDERS
    If Not .FolderExists(p2 & "Files") Then _
      .GetFolder(p2).SubFolders.Add "Files"
    If Not .FolderExists(p2 & "Files\Paper") Then _
      .GetFolder(p2 & "Files").SubFolders.Add "Paper"
    p2 = p2 & "Files\Paper\"
    Set pf = .GetFolder(p2)
  
    'Iterate each candidate reference to update Main sheet.
    For i = 1 To rng2.Rows.count
      wsM.[F1] = rng2(i).Offset(, -1) 'Reference number for candidate
      rn = Trim(wsM.[F1])
      count = 1
      'Iterate each file item and copy files and make pdf for candidate.
      For Each c1 In rng1
        If c1.Offset(, 3) <= 0.5 And count <= 5 Then
          If .FileExists(c1) Then
            .CopyFile c1, p2 & rn & "." & .GetFileName(c1), False
            count = count + 1
          End If
        End If
      Next c1
      wsM.Range("A1:H29").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        p2 & rn & "." & Trim(wsM.[c2]) & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    Next i
    
  End With
'--------------------------------------


'CLEANUP
  Set pf = Nothing
  Set fso = Nothing
  
  MsgBox "All done..."
End Sub