Hello gamaz,

This is because the statement GetObject(, "Excel.Application") is trying to attach to a running instance of Excel. If you change the call to include an empty string for the PathName (first argument) then it will create an instance if a running instance can't be found.
   GetObject("", "Excel.Application")