Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA: сохранение файла в utf-8? / 3 сообщений из 3, страница 1 из 1
18.04.2012, 14:13
    #37759075
teCa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA: сохранение файла в utf-8?
Здравствуйте. Создаю файлик и записываю в него строчки. после чего закрываю. Файл сохраняется в ANSI кодировке. Как можно сохранить в utf-8? Спасибо.

Код: vbnet
1.
2.
3.
Open Nwz + "\GKZSU_bada3147-9b10-4e31-8382-7a545fd06ba5.xml" For Output As #f
Print #f, "<?xml version='1.0' encoding='windows-1251'?>"
   Close #f
...
Рейтинг: 0 / 0
18.04.2012, 15:08
    #37759209
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA: сохранение файла в utf-8?
teCa,

начните с поиска, вопрос неоднократно разбирался
...
Рейтинг: 0 / 0
18.04.2012, 18:29
    #37759740
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA: сохранение файла в utf-8?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Attribute VB_Name = "cUTF8"
Option Explicit

Private Declare Function MultiByteToWideChar Lib "kernel32.dll" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As String, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
Private Declare Function WideCharToMultiByte Lib "kernel32.dll" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, ByVal lpDefaultChar As Long, ByVal lpUsedDefaultChar As Long) As Long

Public Function ToUTF8(ByVal sText As String) As String
    Dim nRet As Long, strRet As String

    strRet = String(Len(sText) * 2, vbNullChar)
    nRet = WideCharToMultiByte(65001, &H0, StrPtr(sText), Len(sText), StrPtr(strRet), Len(sText) * 2, 0&, 0&)
    
    ToUTF8 = Left(StrConv(strRet, vbUnicode), nRet)
End Function

Public Function FromUTF8(ByVal sText As String) As String
    Dim nRet As Long, strRet As String
    
    strRet = String(Len(sText), vbNullChar)
    nRet = MultiByteToWideChar(65001, &H0, sText, Len(sText), StrPtr(strRet), Len(strRet))
    
    FromUTF8 = Left(strRet, nRet)
End Function
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA: сохранение файла в utf-8? / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]