:: Архив конференции по VFP до 2005 года
.Paste() в Excel
Петров Андрей
Автор

Сообщений: 2506
Откуда: Химки (М.О.)
Дата регистрации: 17.04.2002
Кидаю данные через буфер обмена.
Данные вида 'ыяввыаи'+chr(13)+'ывапфып'
Получаю в Excel кракозябры те не ту кодировку...

Что делать вроде раньше проходило?

Вот код

with m.oe.workbooks(1).sheets(1) m.s=_cliptext
_cliptext=m.head
.Paste(.Range('A'+ALLTRIM(STR(m.hnum))))
_cliptext=m.s




------------------
PS Недочитал тему до конца...
Ratings: 0 negative/0 positive
Re: .Paste() в Excel
GUEST

Сообщений: 900
Откуда: Москва
Дата регистрации: 15.02.2001
рашнский текст вставляется из фоксового окна нормально, если клава в фоксовом окне переключена в "русский". кажется, это непобедимо. тут где-то уже обсуждалось. а зачем из буфера брать, почему не присваиваешь "поячеечно"?
Ratings: 0 negative/0 positive
Re: .Paste() в Excel
AleksM

Сообщений: 17881
Дата регистрации: 11.11.2003
m.head откуда берется? Если из поля таблицы, то может CP не тот.




------------------
Лучше переесть, чем недоспать.
Не спеши, а то успеешь.
Ratings: 0 negative/0 positive
Re: .Paste() в Excel
Владимир Максимов

Сообщений: 14095
Откуда: Москва
Дата регистрации: 02.09.2000
Это не очень хорошо, но сделай в реестре замену

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1252"="c_1251.nls"




------------------
Ratings: 0 negative/0 positive
Re: .Paste() в Excel
Петров Андрей
Автор

Сообщений: 2506
Откуда: Химки (М.О.)
Дата регистрации: 17.04.2002
2 GUEST

Всмысле поячеечно? Код на экране. Те в одну ячейку вставляется из буфера...
Работаю через буфер потому что не знаю сколько будет строк и определить не смогу. Только если извращаться и считать chr(13) в Head

2 Владимир Максимов

Спасибо прокатило... А в чем дело то было?



Отредактировано (18.02.05 17:16)


------------------
PS Недочитал тему до конца...
Ratings: 0 negative/0 positive
Re: .Paste() в Excel
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi, GUEST!

Победимо победимо только надо отказаться от _CLIPTEXT и работать с
буфером через API (и лучше сразу в UNICODE конвертнуть и уж этот формат в
буфер и засунуть). Примеры на форуме были - поищи OpenClipboard
SetClipboardData

P.S. Решение "в лоб" - программно переключать раскладку на русский мне
кажется несколько корявым, хотя тоже должно сработать.

P.P.S. Также наверное сработает древний трюк с заменой ключика раздела NLS в
реестре - чтоб винда считала CP1252 за CP1251 Но это нельзя рекомендовать
как хороший способ решения проблемы.




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: .Paste() в Excel
Петров Андрей
Автор

Сообщений: 2506
Откуда: Химки (М.О.)
Дата регистрации: 17.04.2002
Короче через Unicode. Все понял спасибо...




------------------
PS Недочитал тему до конца...
Ratings: 0 negative/0 positive


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 7 (Гостей: 7)

© 2000-2024 Fox Club 
Яндекс.Метрика