What version of MS Office you have?
Could you post the whole script from creating the oleobject and ConnectToNewObject.
Is the value of l_str_dir pointing to an existing excel file?
Move this statement after the save()
ole_excel.visible = TRUE
Remove this statement.
ole_excel.Application.Visible = True
Before destroying the oleobject, disconnect it first:
ole_excel.DisconnectObject()