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
Post a Comment