By Train:

A much more eco-friendly way to come to Vienna is Austrian Federal Railways (ÖBB)
ÖBB offers railway network to get you to Vienna. With the Sparschiene, you can travel from almost every city around Europe with a very reasonable price.

By Bus:

Eurolines
Flixbus also offers bus routes for longer distances^