vba - FileSearch using set string -


i trying vba filesystem object script search set filepath call script based on outcome of filesearch.

so script attempting is:

  • set search string folder name, file name (set numeric cell value) & extension.
  • run search file
  • if no result found, call script , loop until match found
  • once match found call script

the code sequential number generator, script adds number text file. script called see if number exists (in form of excel file matching name). see steps above see script attempting now.

here code have far.

function checkifvoid()   dim myfile string   dim fso, folder, file   dim foldername, searchfilename, renamefileto    foldername = "z:\delivery notes\delivery notes\"   searchfilename = range("l5").value   myextension = "*.xls"    myfile = instr(foldername & searchfilename, myextension)    ''create filesystem objects   set fso = createobject("scripting.filesystemobject")   set folder = fso.getfolder(foldername)    while myfile < 0     call minusone     sheets(1).range("l5") = lowseqnumber   loop   if myfile = 1     call plusone     sheets(1).range("l5") = seqnumber   end if  resetsettings:   'reset macro optimization settings   application.enableevents = true   application.calculation = xlcalculationautomatic   application.screenupdating = true end function 

i'm using excel 2013.

this old code looked , i'm trying recreate.

sub filesearch()  dim wbresults workbook dim wbcodebook workbook dim myfilecount integer dim f  integer dim filename string dim filetype string application.screenupdating = false application.displayalerts = false  on error resume next     set wbcodebook = thisworkbook         application.filesearch             .newsearch             .lookin = "z:\delivery notes\delivery notes\"             .filetype = msofiletypeexcelworkbooks             .filename = range("l5").value                  myfilecount = 0                 myfilename = .foundfiles                 myfilecount = .foundfiles.count                 end end sub function checkifvoid()  dim wbresults workbook dim wbcodebook workbook dim myfilecount integer dim f  integer dim filename string dim filetype string application.screenupdating = false application.displayalerts = false  on error resume next     set wbcodebook = thisworkbook         application.filesearch             .newsearch             .lookin = "z:\delivery notes\delivery notes\"             .filetype = msofiletypeexcelworkbooks             .filename = range("l5").value                 while .execute < 1                     call minusone                    sheets(1).range("l5") = lowseqnumber                   call filesearch                   loop                  if .execute > 0                 call plusone                 sheets(1).range("l5") = seqnumber                  end if             end end function 


Comments