What you actually need to do is similar to what is shown in the video about Using VBO to load list of objects into Rules, starting from about 5:30, up to 11:30. Here is a summary of what is shown in this video (quote from the linked page):
- You need a view that lists the entities you want to work on in Rules. Note that you don't need a display of the view – and it might even be better not to have one if you don't want the view to be displayed somewhere.
- However, you need one bulk operations field. The type of bulk operations field determines what entity type will be sent to Rules. Note that you don't need any actions enabled for the field – it is enough that it is present.
- You need a rule that, as an action, loads entities from a VBO. (This is available under the "Views bulk operations" group.) All view displayes with at least one VBO field will be selectable.
- The action provides a list of entities, that can be used just like other lists in Rules. Combine with loops, actions and Rules Scheduler to make awesomeness happen.
In your case you want to start from your VBO list of the unpublished nodes of the user. And for each node in the list you want the rules action to be "publish node" (instead of "remove sticky").
You want to pass the userid as a parameter also, similar to what is shown around 7:30 in that video also. I'm assuming your VBO view also requires the userid already.
The Rules component that you create as described above, should then become the action to be performed by a rule that is triggered by the event "After updating an existing account". This is what differs from what is shown in the video, starting from 11:30 (in the video the Rules component is triggered daily, via the Rules Scheduler).
Should you need any other rules "conditions" (eg: only for selected roles), you can add them to the rules component you created.