If you record a macro (Tools - Macro - Record New Macro) while you open the file, you will get the parameters you need to use the OpenText method. Here's an example
Workbooks.OpenText Filename:= _
"C:\Documents and Settings\dick\My Documents\actsynclog.txt", Origin:=437, _
StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(8, _
1), Array(31, 1), Array(41, 1), Array(57, 1), Array(77, 1), Array(80, 1), Array(82, 1), _
Array(84, 1), Array(86, 1)), TrailingMinusNumbers:=True
The FieldInfo argument is the one you care about. It's an array of 2d arrays. The first element is the column and the second is the data type. This example splits the text file in the following columns: 0, 8, 31, 41, 57, 77, 80, 82, 84, and 86.
With that you, you can write a macro to open the text file. See the GetOpenFileName method of the Application object for how to select which file to open.
Best Answer
Text to columns (in data tab) have almost the same functionality than your "import from text file has".
You can split the text to columns by fixed length or at separators, select data type for each column...