Create sheet object dynamically - yes. You can find examples of macros for creating charts in API guide. In the script - probably not. To create an object, you have to have the data model - logical tables, fields, relations. You get them as the result of script execution. They don't exist during the execution yet. You need to specify an event (i.e. On open) that triggers the macro that creates the object.