I have a workbook that runs a query on SQL server and returns results. A macro then creates a customer facing copy and names it dynamically using values from the results and the date and saves it to the individual user's desktop.
If the macro is run a second time and this dynamically named file has been left open from the original run I get an error. How can I determine if the file is open from the earlier run and close it before starting the second run?
Sub CreateCustomerCopy()
ThisFile = ("Purchase History - Billing Acct# " & Range("A4").Value & " - " & Format(Date, "YYYYMMDD"))
Range("A2:A2").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
'Save to Desktop of Variable User
Dim strPath As String
Dim Myar As Variant
strPath = "C:\Users\username"
Myar = Split(strPath, "\")
Debug.Print CurDir & "\" & Myar(UBound(Myar))
ActiveWorkbook.SaveAs Filename:="C:\Users\" & Myar(UBound(Myar)) & "\Desktop\" & ThisFile, _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub