The second one is almost correct. You need the sprite collection data object (the one inside the Data folder, and just that, nothing else). You should then be able to load it with Resources.Load. Make sure resources.load is actually loading first though, so print out the value. For obvious reasons if its null it isn't going to work.
Also, use SetSprite to switch to a sprite from the new collection, rather than using .Collection to assign it.
Eg. SetSprite( newCollection, "spriteName" );