BTW I didn't sit and type all that in, I used the following code and attached file to create the module. I've posted it here so you can simply make any changes to the file (eg if you want to translate some of the unprintable characters), run the code and it will create the .bas module for you. (Just change the Paths to the input and output files as necessary)
Code:
Option Explicit
Private Sub Command_Click()
Dim strData As String
Dim strLines() As String
Dim strLine() As String
Dim intFile As Integer
Dim intFileOut As Integer
Dim intI As Integer
Dim intLoc As Integer
intFile = FreeFile()
Open "C:\MyDir\ebcdic.txt" For Input As intFile
intFileOut = FreeFile()
Open "C:\myDir\modEbcdic.bas" For Output As intFileOut
Print #intFileOut, "Option Explicit"
Print #intFileOut,
Print #intFileOut, "Private EBCDICLookup(255) As String"
Print #intFileOut,
Print #intFileOut, "Public Sub SetUpTranslate()"
strData = Input(LOF(intFile), intFile)
Close intFile
strLines = Split(strData, vbNewLine)
For intI = 0 To UBound(strLines)
strLine = Split(strLines(intI), " ")
intLoc = CInt(strLine(0))
If UBound(strLine) > 1 Then
If Len(strLine(2)) = 1 Then
Print #intFileOut, "EBCDICLookup(" & intLoc & ") = " & "Chr(" & (Asc((strLine(2)))) & ")" & vbTab & "'" & strLine(2)
Else
Print #intFileOut, "EBCDICLookup(" & intLoc & ") = Chr(255)" & vbTab & "' Unprintable"
End If
Else
Print #intFileOut, "EBCDICLookup(" & intLoc & ") = Chr(255)" & vbTab & "' Unprintable"
End If
Next intI
Print #intFileOut, "End Sub"
Print #intFileOut,
Print #intFileOut, "Public Function Translate(strEBCDIC As String) As String"
Print #intFileOut, "Dim intI As Integer"
Print #intFileOut, "If Len(strEBCDIC) > 0 Then"
Print #intFileOut, " For intI = 1 To Len(strEBCDIC)"
Print #intFileOut, " Translate = Translate & Chr(EBCDICLookup(Asc(Mid$(strEBCDIC, intI, 1))))"
Print #intFileOut, " Next intI"
Print #intFileOut, "End If"
Print #intFileOut, "End Function"
Close intFileOut
End Sub