excel - If SaveAs location is already open, I get 1004 Error -
running bit of end-user problems vba saveas code.
the code below executes saveas current workbook, allows users select name, closes new saved file , reopens original. excel workbook many users on server many people opening/closing files.
the problem when user tries execute code below save on file user has open, program displays run-time error '1004': cannot save workbook same name open workbook or add-in., etc.
does know how check if saveas destination open, display msgbox "file opened user. please wait until close or select different file name."
any appreciated, can't figure 1 out!
sub exporttrip() dim actsheet worksheet dim actbook workbook dim currentfile string dim newfile string application.screenupdating = false ' prevents screen refreshing. currentfile = thisworkbook.fullname ' saves filename of current workbook newfile = application.getsaveasfilename( _ initialfilename:=sheets("master").range("b5"), _ filefilter:="arms export *.xlsm (*.xlsm),") ' gets filename exported workbook if newfile <> "" , newfile <> "false" 'if user doesn't pick name activeworkbook.saveas filename:=newfile, _ fileformat:=52, _ password:="", _ writerespassword:="", _ readonlyrecommended:=false, _ createbackup:=false set actbook = activeworkbook 'declares variable open workbook workbooks.open currentfile 'reopens original workbook application.displayalerts = false actbook.close 'closes exported workbook application.displayalerts = true end if application.screenupdating = true end sub
try this
start error msg here
'// here msgbox on error goto errmsg activeworkbook.saveas filename:=newfile, _ fileformat:=52, _ password:="", _ writerespassword:="", _ readonlyrecommended:=false, _ createbackup:=false set actbook = activeworkbook 'declares variable open workbook workbooks.open currentfile 'reopens original workbook application.displayalerts = false actbook.close 'closes exported workbook application.displayalerts = true end if application.screenupdating = true and make sure errmsg: before end sub
.
'// here err msgbox errmsg: msgbox ("type message here."), , "message title" end sub
Comments
Post a Comment