Листинг 2. Модифицированный вариант,
пригодный для тестирования
Function Convert(myStr As String) As String
'
' Преобразование из DOS в ANSI
Dim kod%, newStr$
kod = Asc(myStr)
' russian letters
If kod > 127 And kod < 176 Then
newStr = Chr(kod + 64)
ElseIf kod > 223 And kod < 240 Then
newStr = Chr(kod + 16)
Else
Select Case kod
' latvian letters
Case Is = 240 ' E
newStr = Chr(199)
' еще 20 таких конструкция для других латышских букв
Case Else
newStr = Chr(kod)
End Select
End If
Next i
Convert = newStr
End Function
Function Conv(myStr As String, reg_to As Integer) As String
' Преобразование из ANSI в Unicode
Dim tmp$
tmp$ = StrConv(myStr, vbFromUnicode)
Conv = StrConv(tmp, vbUnicode, reg_to)
End Function
Public Sub CommandClick()
' ввод файла с исходными данными
Dim rus$, eng$, lat$
Open "c:\Mytext.dat" For Input As #1
Input #1, rus: Input #1, eng: Input #1, lat
Close #1
' преобразование и вывод
Selection.TypeText Text:=Conv(Convert(rus), 1049)
Selection.TypeParagraph
Selection.TypeText Text:=Conv(Convert(eng), 1033)
Selection.TypeParagraph
Selection.TypeText Text:=Conv(Convert(lat), 1062)
End Sub