@munair:
Well, that's a hard cast.
Yes it is. Your solution may be more elegant and in line with using variants, but the result is the same.
Anyway I agree, avoid using variants. There's no programming job that cannot be done without them. They may seem convenient at times, but it isn't worth the trouble. I learned it the hard way (performance) in the old days of VisualBasic 6.