Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Юникод (?) в ячейке экселя / 12 сообщений из 12, страница 1 из 1
27.11.2010, 18:29
    #36980902
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Юникод (?) в ячейке экселя
Вот такой файлик.
Казалось бы в ячейке написано "Фотоаппараты"
но Debug.Print Cells(1,1) выдает "?отоаппараты"

Это юникод? Если да, то как с ним бороться средствами VBA, пока даже не соображу, как его куда-нить считать.
...
Рейтинг: 0 / 0
27.11.2010, 18:47
    #36980910
ё
ё
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Юникод (?) в ячейке экселя
Shocker.ProЭто юникод? .
походу - да
Код: plaintext
1.
Debug.Print AscW(Cells( 1 , 1 ))
  934  
но вот по-поводу 1-ой буквы - это не "Ф"
это чья-то злая шутка ))
Код: plaintext
1.
?AscW("Ф")
  1060  
...
Рейтинг: 0 / 0
27.11.2010, 18:57
    #36980915
ё
ё
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Юникод (?) в ячейке экселя
...
Рейтинг: 0 / 0
27.11.2010, 19:40
    #36980932
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Юникод (?) в ячейке экселя
я не сталкивался с обработкой юникода в VB, как понимаю, там много неявных преобразований

примеры перевода из юникода в топике вроде были, только как получить эту строку, чтоб передать ее в какчестве параметра...
Код: plaintext
1.
2.
Dim s As String
s = Cells( 1 ,  1 )
Debug.Print s, AscW(s)
...
Рейтинг: 0 / 0
27.11.2010, 19:54
    #36980943
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Юникод (?) в ячейке экселя
Shocker.Pro, ой таких чудес как "Фотоаппараты"
море, бывает Вордовский файл, а в нём закладки, имя которой начинается с цифры!!!!
Очень удобно, а почему нет если очень хочется!!!!!!!!
...
Рейтинг: 0 / 0
27.11.2010, 20:15
    #36980963
Юникод (?) в ячейке экселя
Shocker.Pro...
Это юникод? Если да, то как с ним бороться средствами VBA, пока даже не соображу, как его куда-нить считать.
Все остальные буковки в слове фотоаппараты - тоже Юникод. Так что эту/эти злополучные Фи(?) считываешь(записывешь, удаляешь), так же как и кириллицу...
...
Рейтинг: 0 / 0
27.11.2010, 20:20
    #36980971
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Юникод (?) в ячейке экселя
СавсемГостьВсе остальные буковки в слове фотоаппараты - тоже Юникод. Так что эту/эти злополучные Фи(?) считываешь(записывешь, удаляешь), так же как и кириллицу...
так я ж и не знаю, как это делать...
вообще не работал с юникодом, даже про AscW только что узнал

то бишь, чтобы обработать строку, мне ее надо куда-то считать, в какую-то переменную или как параметр передать... а тут, в частности при присвоении текстовой переменной, происходит преобразование в аскии
...
Рейтинг: 0 / 0
27.11.2010, 20:20
    #36980973
ё
ё
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Юникод (?) в ячейке экселя
Shocker.Proя не сталкивался с обработкой юникода в VB, как понимаю, там много неявных преобразований

примеры перевода из юникода в топике вроде были, только как получить эту строку, чтоб передать ее в какчестве параметра...
Код: plaintext
1.
2.
Dim s As String
s = Cells( 1 ,  1 )
Debug.Print s, AscW(s)


дык, так и передать - s = Cells(1, 1)
просто окно Иммедиате и МсгБокс - "не умеют" выводить эту "НЕ Ф",
а в переменной s - всё будет - как нужно,
м в ячеку вывевсти - тоже будет нормально (и в текстбокс и т.д)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub qq()
Dim s As String
Dim i As Integer
For i =  1  To Len(Cells( 1 ,  1 ))
  Debug.Print AscW(Mid(Cells( 1 ,  1 ), i,  1 ))
  Debug.Print ChrW(AscW(Mid(Cells( 1 ,  1 ), i,  1 )))
  s = s & ChrW(AscW(Mid(Cells( 1 ,  1 ), i,  1 )))
Next
MsgBox s
Cells( 2 ,  1 ) = s
End Sub
...
Рейтинг: 0 / 0
27.11.2010, 20:22
    #36980977
ё
ё
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Юникод (?) в ячейке экселя
Shocker.Pro... а тут, в частности при присвоении текстовой переменной, происходит преобразование в аскии
))) долго набираю... ))
нету никакого преобразования !
...
Рейтинг: 0 / 0
27.11.2010, 20:25
    #36980979
ё
ё
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Юникод (?) в ячейке экселя
дааа, и вот этот цикл - это я просто "буковки смотрел"
всё работает и так - напрямую
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub qq()
Dim s As String
Dim i As Integer
s = Cells( 1 ,  1 )
'For i = 1 To Len(Cells(1, 1))
'  Debug.Print AscW(Mid(Cells(1, 1), i, 1))
'  Debug.Print ChrW(AscW(Mid(Cells(1, 1), i, 1)))
'  s = s & ChrW(AscW(Mid(Cells(1, 1), i, 1)))
'Next
'MsgBox s
Cells( 2 ,  1 ) = s
End Sub
...
Рейтинг: 0 / 0
27.11.2010, 20:50
    #36980998
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Юникод (?) в ячейке экселя
ё,

где-то я протупил
теперь мой собственный пример сработал нормально:
Код: plaintext
1.
s = Cells( 1 ,  1 )
Debug.Print s, AscW(s)
спасибо, значит расковыряем
...
Рейтинг: 0 / 0
29.11.2010, 09:10
    #36982534
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Юникод (?) в ячейке экселя
ёно вот по-поводу 1-ой буквы - это не "Ф"
это чья-то злая шутка ))

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


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