|
v7: Загрузка иероглифов из Excel | ☑ | ||
---|---|---|---|---|
0
jyupiter
02.08.16
✎
05:14
|
Есть файл Excel, присланный китайской стороной, в нём список туристической группы. В этом файле столбец "пол", в каждой строчке иероглиф, один из двух, с кодами Юникод 22899 и 30007 соответственно.
Но при попытке считать текст из Экселя в 1С 7.7 (самописная конфига) стандартной схемой КитПол = Лист.Cells(мНом, 4).Value вместо кракозябры с длинным кодом в 1С вгружается только вопросительный знак "?" с кодом 63. Попробовал такое КитПол = ?(Лист.Cells(мНом, 4).Value = Лист.CHRW(22899), "Ж", "М"); "Лист" - это первая страница СОМ-объекта Excel.Application. В этом случае выдаёт ошибку "Поле агрегатного объекта не обнаружено (CHRW)" Что в этом случае можно сделать, чтобы в 1С отличить китайскую бабу от мужика?.. |
|||
1
Это_mike
02.08.16
✎
06:38
|
А Йокселем почитать не пробовал ?
|
|||
2
jyupiter
02.08.16
✎
06:49
|
(1) Не понял вопроса. Почитать Йокселем из Йокселя?
|
|||
3
Лодырь
02.08.16
✎
06:55
|
||||
4
jyupiter
02.08.16
✎
07:24
|
(3) Попробовал. Видит те же вопросики вместо иероглифов
|
|||
5
Лодырь
02.08.16
✎
07:37
|
А самый простой вариант с предварительной заменой внутри Экселя на F/M не канает?
|
|||
6
jyupiter
02.08.16
✎
07:40
|
(5) Это резервный вариант, потому что он не слишком удобный. Хочется загружать файлы в 1С "as is", а не после предварительной ручной обработки каждого макросом.
|
|||
7
Это_mike
02.08.16
✎
07:43
|
(4) что использовал - .Текст, или .Значение? Устанавливал ли .НаборСимволов=2 ?
|
|||
8
jyupiter
02.08.16
✎
07:47
|
(7) Использовал и .Текст, и .Значение -- результат один.
.НаборСимволов не устанавливал. Сейчас попробую поискать про это. |
|||
9
mehfk
02.08.16
✎
08:07
|
(0) В 7.7 нет юникода.
|
|||
10
Это_mike
02.08.16
✎
08:08
|
(9) юникода нет, а почему бы код не получить?
|
|||
11
jyupiter
02.08.16
✎
08:09
|
(7) Всё-таки я не смог понять про .НаборСимволов.
Ни .CharSet, ни .CharacterSet не удалось найти применение. (8) Мне не надо Юникода в 1С 7.7. Мне надо получить инфу из Экселя, достаточную для различения двух разных иероглифов. |
|||
12
Это_mike
02.08.16
✎
08:11
|
НаборСимволов
Синтаксис: НаборСимволов Назначение: Набор символов, который следует использовать системе для отображения текста. Чтение и запись. Возможные значения: 0 – ANSI, 1 – Прибалтийский, 2 – Китайский (традиционное письмо), 3 – По умолчанию для системы, 4 – Центральная Европа, 5 – Китайский (упрощенное письмо), 6 – Греческий, 7 – Корейский, 8 – Mac, 9 – OEM, 10 – Кириллица, 11 – Японский, 12 – Символьный, 13 – Турецкий, 14 – Вьетнамский, 15 – JOHAB, 16 – Арабский, 17 – Иврит, 18 – Тайский. |
|||
13
Это_mike
02.08.16
✎
08:12
|
+(12) Это свойство объекта ОбластьТабличногоДокумента
|
|||
14
Это_mike
02.08.16
✎
08:16
|
Вообще, кинь пример файла на обменник какой-нить...
|
|||
15
Tatitutu
02.08.16
✎
08:18
|
||||
16
Зая Бусечка
02.08.16
✎
08:19
|
А что, 77 уже научилась уникоду? Я что-то пропустила?
|
|||
17
jyupiter
02.08.16
✎
08:30
|
(14) Пример https://cloud.mail.ru/public/GnT4/hzq9iVYPg
ОбластьТабличногоДокумента -- это точно объект 1С 7.7?.. |
|||
18
Это_mike
02.08.16
✎
09:26
|
(17) ОбластьТабличногоДокумента - это объект Йокселя.
|
|||
19
Это_mike
02.08.16
✎
09:44
|
хм. не получается
|
|||
20
jyupiter
02.08.16
✎
10:08
|
(15) Там очень много материала, изучать его целиком (со всеми ссылками) нет возможности. Есть какая-то функция в Экселе, обратная к ChrW? Чтобы на входе символ Юникода, а на выходе его код?
Я пробовал применять стандартную КодСимв(), но она выдаёт только тот же код 63 для обоих символов. |
|||
21
jyupiter
03.08.16
✎
11:54
|
Значит перейдём на резервный вариант
|
|||
22
Mr_Rm
03.08.16
✎
12:12
|
||||
23
Mr_Rm
03.08.16
✎
12:28
|
Поправка: (22) - к (20). Но тоже не вызовется, как и ChrW().
Есть вариант создать и вызвать функцию через Excel.Application.VBE.ActiveVBProject.VBComponents. Вот тут есть пример: v8: Как создать и запустить макрос Excel в 1С |
|||
24
jyupiter
04.08.16
✎
07:47
|
(23) Этот вариант по неудобству (и небезопасности) не уступает тому, что просто добавить макрос в настройки Экселя и обрабатывать каждый эксель-файл перед загрузкой.
Решилось всё иначе -- китайцы прислали ещё один вариант, в котором через слэш записаны и китайский, и английский варианты пола, а это в 1С различить легко. Социально-инженерные навыки менеджеров зарулили мои программистские в минуса. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |