I have a script that opens an excel file and runs a macro, and then exits the file. Since the file is in read-only mode and the script makes temporary changes to the file when the script calls myExcelWorker.Quit() excel asks if I want to save my changes and I have to click "no". Is there any way to exit the program and skip this square?
' Create a WshShell to get the current directory Dim WshShell Set WshShell = CreateObject("WScript.Shell") ' Create an Excel instance Dim myExcelWorker Set myExcelWorker = CreateObject("Excel.Application") myExcelWorker.Visible = True ' Tell Excel what the current working directory is ' (otherwise it can't find the files) Dim strSaveDefaultPath Dim strPath strSaveDefaultPath = myExcelWorker.DefaultFilePath strPath = WshShell.CurrentDirectory myExcelWorker.DefaultFilePath = strPath ' Open the Workbook specified on the command-line Dim oWorkBook Dim strWorkerWB strWorkerWB = strPath & "\BugHistogram_v2.xlsm" Set oWorkBook = myExcelWorker.Workbooks.Open(strWorkerWB) ' Build the macro name with the full path to the workbook Dim strMacroName strMacroName = "CreateImagesButton_Click" on error resume next ' Run the calculation macro myExcelWorker.Run strMacroName if err.number <> 0 Then ' Error occurred - just close it down. End If err.clear on error goto 0 ' oWorkBook.Save ' this is ignored because it read only myExcelWorker.DefaultFilePath = strSaveDefaultPath ' Clean up and shut down Set oWorkBook = Nothing ' Don't Quit() Excel if there are other Excel instances ' running, Quit() will ' shut those down also if myExcelWorker.Workbooks.Count = 0 Then myExcelWorker.Quit End If myExcelWorker.Quit() Set myExcelWorker = Nothing Set WshShell = Nothing
source share