If you are talking about VB6, then you probably won't have too much luck. The most you'll be able to recover will be function/module names and control properties, but not much more. You may have a bit more luck though if you compiled to p-code, although I'm thinking thats unlikely.
If you are talking about VB .NET, then you may have a bit more luck, since AFAIK, it is not compiled to machine code, but instead something similar to Java bytecode. I havn't tried though so I can't say much more.