Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.01.2011, 11:56
Аватар для fofka
fofka fofka вне форума
Начинающий
 
Регистрация: 12.10.2008
Сообщения: 163
Репутация: -1588
Печаль Из Memo в Excel

Добрый день. Подскажите как правильно организовать перенос данных из Memo в Excel.
Код HTML:
procedure TForm1.Button1Click(Sender: TObject); var Excel:Variant; m1, m2,m3, m4, m5:TCaption; begin m1 := Form1.MainMemo.Lines[0]; m2 := Form1.MainMemo.Lines[1]; m3 := Form1.MainMemo.Lines[2]; m4 := Form1.MainMemo.Lines[3]; m5 := Form1.MainMemo.Lines[4]; mo := ''+(m1)+':'+(m5)+'';
При таком варианте в ячейку [B2] выгрузится содержимое всех пяти линий Memo.
Код HTML:
Excel.ActiveWorkBook.WorkSheets[Il].Range['B2'].Value:= mo;

Мне нужно что бы в ячейку [B2] выгрузилось 50 знаков (символов), еще 50 знаков в ячейку [B3] и соответсвено в ячейку [B4] 50 знаков.
То есть организовать выгрузку с ограничением по количеству символов, (у меня 50 символов).
Заранее благодарю за подсказку.
Ответить с цитированием
  #2  
Старый 24.01.2011, 13:15
stil stil вне форума
Новичок
 
Регистрация: 24.11.2010
Сообщения: 91
Репутация: 41
По умолчанию

Код:
for i:=1 to length(mo) do begin
  j:=(i div 50) + 2;
  Sheet.Cells[j,2].value:=Sheet.Cells[j,2].value+mo[i];
end;

Последний раз редактировалось stil, 24.01.2011 в 13:17.
Ответить с цитированием
  #3  
Старый 24.01.2011, 15:06
Аватар для fofka
fofka fofka вне форума
Начинающий
 
Регистрация: 12.10.2008
Сообщения: 163
Репутация: -1588
По умолчанию Не хочет работать.

Не хочет переносить больше одной линии из MEMO.
Посмотрите пожалста где ошибка.
Вложения
Тип файла: rar Memo.rar (11.3 Кбайт, 10 просмотров)
Ответить с цитированием
  #4  
Старый 24.01.2011, 15:53
Аватар для fofka
fofka fofka вне форума
Начинающий
 
Регистрация: 12.10.2008
Сообщения: 163
Репутация: -1588
Радость

Спасибо за советы.

Разобрался почему не "работало".

Если мы пишем так
Код HTML:
mo := Form1.MainMemo.Text

то все работает

Код HTML:
Excel:=CreateOleObject('Excel.Application'); Excel.SheetsInNewWorkbook:=1; Excel.Workbooks.Add; Excel.Windows[1].Caption := Il; Excel.ActiveSheet.PageSetup.LeftMargin:= Excel.Application.InchesToPoints(0.40); Excel.ActiveSheet.PageSetup.RightMargin:= Excel.Application.InchesToPoints(0.80); Excel.ActiveSheet.PageSetup.TopMargin:= Excel.Application.InchesToPoints(0.20); Excel.ActiveSheet.PageSetup.BottomMargin:= Excel.Application.InchesToPoints(1.0); Excel.ActiveSheet.PageSetup.Orientation:= 1; Excel.ActiveWorkBook.WorkSheets[1].Name:=Il; Excel.Visible := True; for i:=1 to length(mo) do begin j:=(i div 100) + 2; Excel.ActiveWorkBook.WorkSheets[Il].Cells[j,2].value:=Excel.ActiveWorkBook.WorkSheets[Il].Cells[j,2].value+mo[i]; end;

Есть небольшой нюанс. Если предложение меньше чем ограничение (тут 100 знаков) то Excel загоняет все в одну ячейку. Лично для меня это не критично.

Еще раз благодарю за помощь.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:21.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025