That's right, formatted I/O in VB really doesn't work well. If you need formatted I/O, you have 3 choices:
1) Buy and use our Tools for Visual Basic (formerly known as ComponentWorks). This has wonderful data formatting capabilities in an ActiveX control.
2) Make your own wrappers for viVScanf or viVQueryf for each type of data formatting you need. For example, to read in 1 long integer it might be:
Declare Function myVScanfSingleLong Lib "VISA32.DLL" Alias "#280" (ByVal vi As Long, ByVal readFmt As String, singleNumericParam As Long) As Long
Admittedly, our documentation does say that these functions are available from VB, and while it is possible if you do it this way, we probably shouldn't claim that these functions "work".
3) Write a separate DLL in C and have it do the formatting part, and let it export a well-known API with data types acceptable to VB.
Sorry, but that's just a technical shortcoming of VB.
Dan Mondrik