Yes it would need to be done with Ruby. But currently only on PC, as it uses the
Win32OLE class to talk to Excel.
This cannot be done from within SketchUp Ruby, as it cannot “observe” things in another process in the normal manner where the “observed” object (when it thinks it’s changes need to be broadcast,) makes calls to Ruby callback method(s), that responds to the change.
Instead, it’d need to be either a manual “Update” command, or a timer that periodically “polls” some property in the Excel file or worksheet (perhaps a modified flag?).
Another alternative is to check a modified date of the Excel file when SketchUp starts, or loads a model with a specific “Excel Syncing” attribute dictionary, and if the last updated date in the model’s dictionary is less than that of the Excel file, then the plugin could do an update routine, searching for differences between the Excel file and the component instances in the model.
I think that there are already a few extensions that link Excel and SketchUp models already. (May not be free however.)
It might be nice if it updated the component files in the library collection folder, so that the changes could percolate down to model files as they are opened, or as modeling activity inserts new component instances into models.
And again there may already be component updater plugins that will do the updating from the library part of this workflow.