No.
You should never have to pay extra because of something the railways did.
You can just take whatever is the next train that will bring you to your destination. There is no need to exchange your ticket. Just hop on the next train. Use www.oebb.at to find out what that next train is.
In this part of Europe tickets are for a route, not a train. You may think you have a ticket for train EC112, what you actually have is a ticket “Ljubljana to Zug”.
RolandP Provided it is one ticket for the entire journey
Even when it is not one ticket for the whole journey you can still just continue with whatever ticket you have. ÖBB (and SBB) are reasonable in such situations.
One last note: Even though you bought your ticket with SBB, when there are irregularities during travel the company that needs to deal with it is the one on which territory you are. So in this case that will be ÖBB. If you have time in Villach you can go to the ticket office and have your reservation exchanged.