Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Вниз

Пересылка текста через Clipboard   Найти похожие ветки 

 
AlexG ©   (2004-06-20 19:06) [0]

У меня не получается в читабельном виде передать текст из Memo в Excel.
Я составляю в Memo таблицу с помощью #9 и #13#10. Данные имеют текстовый формат и русскую кодировку. После того как я составлю все таблицу я копирую содержимое Memo в Clipboard (CopyToClipboard), а потом вставляю из Excel:

     ExcelApp := CreateOleObject("Excel.Application");
     ExcelApp.Workbooks.Add(TmpParam);
     DataRow.SelectAll;
     DataRow.CopyToClipboard;
     ExcelApp.ActiveSheet.Paste;

Но в Excel весь текст становится нечитаемым (какая-то непонятная кодировка). :(
Как мне избежать такой перекодировки и вставить текст в читаемом виде? Контролировать это нужно на стороне Delphi или Excel?


 
YurikGL ©   (2004-06-20 19:28) [1]

А зачем через буфер работать? Можно же напрямую ячейкам текст присваивать.


 
AlexG ©   (2004-06-20 19:34) [2]

YurikGL
Так, как ты говоришь, дольше. Быстрее через вариантный массив и через клипбоард. Попробовал второй и наткнулся на эту кочку...


 
YurikGL ©   (2004-06-20 19:40) [3]


> AlexG ©   (20.06.04 19:34) [2]

Хочешь по быстрому - работай через XML. Paste я делал, как - не помню. Сейчас попробую найти.


 
YurikGL ©   (2004-06-20 19:44) [4]

Указанный тобой код сработал без проблем.

Попробуй
Memo1.SelectAll;
Memo1.CopyToClipboard;

Потом руками вставить в блокнот например, или еще куда. Так можно определить, кто путает кодировку.


 
AlexG ©   (2004-06-20 19:45) [5]

> YurikGL
Я XML еще не изучал. Книг нет, а до распечаток и-нетовских пока время не пускает. Поэтому не получится пока через XML :(...
Может мне нужно объект Clipboard создать? И через него управлять клипбоардом?


 
AlexG ©   (2004-06-20 19:47) [6]

Это, скорее всего, клипбоард портит, потому что такое было не только в этом случае... Издругих программ копировал и вставлял в нечитаемом виде... Хотя... Надо проверить.


 
YurikGL ©   (2004-06-20 19:49) [7]


> AlexG ©   (20.06.04 19:45) [5]

В целом, через буфер не советую т.к. пользователью будет печально, если у него что-то в буфере было, да и большой объем через буфер плохо прокачивать.

Попробуй объявить вариантный массив и присваивать его  excelapplication.range["a1","c3"]


 
evvcom ©   (2004-06-20 19:49) [8]


> Быстрее через вариантный массив и через клипбоард

Вот именно через вариантный массив, но зачем клипбоард? И без буфера обмена все прекрасно работает. А уж разница в несколько миллисекунд, я думаю, никого не устроит.


 
AlexG ©   (2004-06-20 19:52) [9]

ОК. Ладно, буду через вариантный массив. Через клипбоард в целях расширения кругозора было :)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.035 c
4-1083574310
atruhin
2004-05-03 12:51
2004.07.04
Политика аудита


1-1087746659
AlexG
2004-06-20 19:50
2004.07.04
Операция Merge неправильно выполняется


14-1087299677
Vlad Oshin
2004-06-15 15:41
2004.07.04
подскажите как из 1.frp(FastReport) достать текст.


14-1087411446
Piter
2004-06-16 22:44
2004.07.04
Россия - Португалия


1-1087497524
lelik
2004-06-17 22:38
2004.07.04
свойства файла





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский