powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA: сохранение файла в utf-8?
3 сообщений из 3, страница 1 из 1
VBA: сохранение файла в utf-8?
    #37759075
teCa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Создаю файлик и записываю в него строчки. после чего закрываю. Файл сохраняется в 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
VBA: сохранение файла в utf-8?
    #37759209
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teCa,

начните с поиска, вопрос неоднократно разбирался
...
Рейтинг: 0 / 0
VBA: сохранение файла в utf-8?
    #37759740
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA: сохранение файла в utf-8?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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