Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > from dos to windows


Автор: Li 2.7.2002, 11:29
помогите, пожалуйста!
у меня есть определенным образом структурированный DOS-файл.
Нужно определенные данные занести в соответствующие ячейки Excel-документа. ( - макрос)
Все хорошо кроме кодировки. Есть ли функция в vba, которая позволяет перевести строку
из одной кодировки в другую? или как можно подключить функцию, написанную на Си,
которая решает такую проблему?
Заранее спасибо!

Автор: clod 3.7.2002, 05:39
вот пара апишных функций делающих это:
Код

Private Declare Function OemToChar Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
Private Declare Function CharToOem Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long

и пример использования:
Код

Dim sMsg As String
Dim s As String
sMsg = "это кодировка Win-1251"
s = Space(Len(sMsg))
CharToOem sMsg, s  'в строке s преобразованная в oem кодировку строка sMsg


функция OemToChar используется так же но преобразует oem (эту самую dos строку) в кодировку win1251, если конечно винды настроены на эту кодировку

Автор: Li 3.7.2002, 10:13
s = Space(Len(sMsg))
СПАСИБО!!!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)