powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA. web-запрос. проблема с кодировкой.
6 сообщений из 6, страница 1 из 1
VBA. web-запрос. проблема с кодировкой.
    #37493439
hardstep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делаю web-запрос в excel
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
    Sheets("w1").Activate
    With ActiveSheet.QueryTables.Add(Connection:= _
        v_url, Destination:=Range(v_start_range))
        .Name = "page"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod =  0 
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = True
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
и получаю данные типа:
На главную
подскажите пожалуйста что и где поправить/добавить, чтобы получить данные в правильной кодировке?
meta с сайта
Код: plaintext
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
хотя браузер отмечает, что там UTF8
...
Рейтинг: 0 / 0
VBA. web-запрос. проблема с кодировкой.
    #37493682
hardstep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем спасибо за внимание. решил в лоб:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
Public Function encode_string(ByRef v_in_str As String)
    v_in_str = Replace(v_in_str, "Р°", "а")
    v_in_str = Replace(v_in_str, "Р±", "б")
    v_in_str = Replace(v_in_str, "РІ", "в")
    v_in_str = Replace(v_in_str, "Рі", "г")
    v_in_str = Replace(v_in_str, "Рґ", "д")
    v_in_str = Replace(v_in_str, "Рµ", "е")
    v_in_str = Replace(v_in_str, "С‘", "ё")
    v_in_str = Replace(v_in_str, "Р¶", "ж")
    v_in_str = Replace(v_in_str, "Р·", "з")
    v_in_str = Replace(v_in_str, "Рё", "и")
    v_in_str = Replace(v_in_str, "Р№", "й")
    v_in_str = Replace(v_in_str, "Рє", "к")
    v_in_str = Replace(v_in_str, "Р»", "л")
    v_in_str = Replace(v_in_str, "Рј", "м")
    v_in_str = Replace(v_in_str, "РЅ", "н")
    v_in_str = Replace(v_in_str, "Рѕ", "о")
    v_in_str = Replace(v_in_str, "Рї", "п")
    v_in_str = Replace(v_in_str, "СЂ", "р")
    v_in_str = Replace(v_in_str, "СЃ", "с")
    v_in_str = Replace(v_in_str, "С‚", "т")
    v_in_str = Replace(v_in_str, "Сѓ", "у")
    v_in_str = Replace(v_in_str, "С„", "ф")
    v_in_str = Replace(v_in_str, "С…", "х")
    v_in_str = Replace(v_in_str, "С†", "ц")
    v_in_str = Replace(v_in_str, "С‡", "ч")
    v_in_str = Replace(v_in_str, "С€", "ш")
    v_in_str = Replace(v_in_str, "С‰", "щ")
    v_in_str = Replace(v_in_str, "СЊ", "ь")
    v_in_str = Replace(v_in_str, "С‹", "ы")
    v_in_str = Replace(v_in_str, "СЉ", "ъ")
    v_in_str = Replace(v_in_str, "СЌ", "э")
    v_in_str = Replace(v_in_str, "СЋ", "ю")
    v_in_str = Replace(v_in_str, "СЏ", "я")
    v_in_str = Replace(v_in_str, "Рђ", "А")
    v_in_str = Replace(v_in_str, "Р‘", "Б")
    v_in_str = Replace(v_in_str, "Р’", "В")
    v_in_str = Replace(v_in_str, "Р“", "Г")
    v_in_str = Replace(v_in_str, "Р”", "Д")
    v_in_str = Replace(v_in_str, "Р•", "Е")
    v_in_str = Replace(v_in_str, "РЃ", "Ё")
    v_in_str = Replace(v_in_str, "Р–", "Ж")
    v_in_str = Replace(v_in_str, "Р—", "З")
    v_in_str = Replace(v_in_str, "И", "И")
    v_in_str = Replace(v_in_str, "Р™", "Й")
    v_in_str = Replace(v_in_str, "Рљ", "К")
    v_in_str = Replace(v_in_str, "Р›", "Л")
    v_in_str = Replace(v_in_str, "Рњ", "М")
    v_in_str = Replace(v_in_str, "Рќ", "Н")
    v_in_str = Replace(v_in_str, "Рћ", "О")
    v_in_str = Replace(v_in_str, "Рџ", "П")
    v_in_str = Replace(v_in_str, "Р ", "Р")
    v_in_str = Replace(v_in_str, "РЎ", "С")
    v_in_str = Replace(v_in_str, "Рў", "Т")
    v_in_str = Replace(v_in_str, "РЈ", "У")
    v_in_str = Replace(v_in_str, "Р¤", "Ф")
    v_in_str = Replace(v_in_str, "РҐ", "Х")
    v_in_str = Replace(v_in_str, "Р¦", "Ц")
    v_in_str = Replace(v_in_str, "Р§", "Ч")
    v_in_str = Replace(v_in_str, "РЁ", "Ш")
    v_in_str = Replace(v_in_str, "Р©", "Щ")
    v_in_str = Replace(v_in_str, "Р¬", "Ь")
    v_in_str = Replace(v_in_str, "Р«", "Ы")
    v_in_str = Replace(v_in_str, "РЄ", "Ъ")
    v_in_str = Replace(v_in_str, "Р­", "Э")
    v_in_str = Replace(v_in_str, "Р®", "Ю")
    v_in_str = Replace(v_in_str, "РЇ", "Я")
    encode_string = v_in_str
End Function
для небольших объемов вполне подходящее решение.
...
Рейтинг: 0 / 0
VBA. web-запрос. проблема с кодировкой.
    #37493800
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hardstep,

в лоб это хорошо, только как ты это применяешь? Ведь результат возвращается сразу в ячейку на листе и возможность обработать имеет только формула в "соседней" ячейке
...
Рейтинг: 0 / 0
VBA. web-запрос. проблема с кодировкой.
    #37494521
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй
charset=UTF-8"
...
Рейтинг: 0 / 0
VBA. web-запрос. проблема с кодировкой.
    #37494914
hardstep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбоносhardstep,
в лоб это хорошо, только как ты это применяешь? Ведь результат возвращается сразу в ячейку на листе и возможность обработать имеет только формула в "соседней" ячейке
через VBA и применяю. cells(i,j).value = encode_string(cells(i,j).value). и так для всех непустых ячеек в разумных пределах.
работает достаточно быстро, чтобы не заморачиваться не небольших объемах. причем тут формулы ячеек я вообще не понял, речь ведь изначально идет о VBA.

michael R, ошибка.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
VBA. web-запрос. проблема с кодировкой.
    #38323950
bboyRALF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hardstep,

Sheets("Лист2").Cells(i, j).Value = encode_string(Cells(i, j).Value)

у меня так не работает
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA. web-запрос. проблема с кодировкой.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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