Форум » FiveWin » Exel » Ответить

Exel

ММК: Вот такая ситуация.. При выводе в ексель ломает кодировку . Конкретно -метод Paste() Никто не боролся с такой бедой? Кстати в TsBrowse 7 при экспорте в ексель такая же жаба :( if !empty( cStr ) cStr:=OemToAnsi(cStr) oClip:SetText( cStr ) oExc:SetPos( "A" + alltrim( str( m ) ) ) oExc:Paste() oClip:Clear() m ++ endif

Ответов - 6

Pasha: Для oem кодировки надо oClip := TClipboard():new(7, oWnd) // CF_OEMTEXT для ansi oClip := TClipboard():new(1, oWnd) // CF_TEXT

ММК: Pasha пишет: Для oem кодировки надо oClip := TClipboard():new(7, oWnd) // CF_OEMTEXT для ansi oClip := TClipboard():new(1, oWnd) // CF_TEXT Это ничего не дает. Клипборд отрабатывает свой хлеб чесТно :)) oClp:GetText() дает правильную кодировку и oExc:Say() тоже на "ура" . А вот oExc:Paste() :((

Pasha: Действительно не работает вместо SetText можно использовать SetData, чтобы формат сработал я заменил oClip := TClipboard():new(7) oClip:open() oClip:empty() // cStr:=OemToAnsi(cStr) oClip:SetData( cStr ) oClip:Close() но oExc:Paste() выдает ошибку


ММК: Pasha пишет: но oExc:Paste() выдает ошибку И к кому теперь ехать драться ? !!! :)) Где править? :) Можно и без "пасты" но , зараза, медленнеееее работает!

ММК: ММК пишет: Где править? :) Еще такой моментик. Предположим , что oExc:Paste() работает. Действительно , на отдельных машинах ХР работает правильно. Но не улавливаю разницы в настройках системы( или офиса? ) А где и нет :( А как на 98 винде?

ММК: ММК пишет: Действительно , на отдельных машинах ХР работает правильно. А где и нет :( А как на 98 винде? Проблемы в руссификации винды. Вот для ХР reg файлик: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage] "1252"="c_1251.nls" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes] "Arial,0"="Arial,204" "Comic Sans MS,0"="Comic Sans MS,204" "Courier,0"="Courier New,204" "Microsoft Sans Serif,0"="Microsoft Sans Serif,204" "Tahoma,0"="Tahoma,204" "Times New Roman,0"="Times New Roman,204" "Verdana,0"="Verdana,204" Для 98-й : REGEDIT4 [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Codepage] "1250"="cp_1251.nls" "1251"="cp_1251.nls" "1252"="cp_1251.nls" "1253"="cp_1251.nls" "1254"="cp_1251.nls" "1255"="cp_1251.nls" Для Windows 9х может понадобится подправить файл win.ini . Для этого в разделе [FontSubstitutes] допишите строки: Arial,0=Arial,204 Comic Sans MS,0=Comic Sans MS,204 Courier,0=Courier New,204 Microsoft Sans Serif,0=Microsoft Sans Serif,204 Tahoma,0=Tahoma,204 Times New Roman,0=Times New Roman,204 Verdana,0=Verdana,204



полная версия страницы