Excel – Open Excel file for reading with VBA without display


I want to search through existing Excel files with a macro, but I don't want to display those files when they're opened by the code. Is there a way to have them open "in the background", so to speak?

Best Solution

Not sure if you can open them invisibly in the current excel instance

You can open a new instance of excel though, hide it and then open the workbooks

Dim app as New Excel.Application
app.Visible = False 'Visible is False by default, so this isn't necessary
Dim book As Excel.Workbook
Set book = app.Workbooks.Add(fileName)
' Do what you have to do
book.Close SaveChanges:=False
Set app = Nothing

As others have posted, make sure you clean up after you are finished with any opened workbooks