Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA. web-запрос. проблема с кодировкой. / 6 сообщений из 6, страница 1 из 1
22.10.2011, 02:46
    #37493439
hardstep
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA. web-запрос. проблема с кодировкой.
делаю 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
22.10.2011, 16:27
    #37493682
hardstep
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA. web-запрос. проблема с кодировкой.
всем спасибо за внимание. решил в лоб:
Код: 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
22.10.2011, 20:21
    #37493800
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA. web-запрос. проблема с кодировкой.
hardstep,

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

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

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

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


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