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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.09.2012, 20:12
12345789igor 12345789igor вне форума
Прохожий
 
Регистрация: 08.09.2012
Сообщения: 1
Репутация: 10
По умолчанию excel в delphi цикл по строкам

Начал изучать редактирование excel книг через delphi по началу было все понятно, пока не столкнулся с одним примером:
Вот картинки что есть и что надо получить:

до

после

Задание:
1) После каждой строки добавить 3 пустых строки
2) Объединение
3) С чем пока совсем глухо это в образовавшейся так сказать "матрице"(выделена жирным) вокруг одного числа, к примеру 2,45 заполнить 7 близлежащих ячеек значениями 2,45+-10%от этого числа(так же с 4,56 и 7,67) цифры и задание выдумано мной для практики

ну значит по сути все что надо мне сделать это разобраться с проходом цикла по строкам(так как я не знаю какое конечное кол-во строк в документе)
Как я себе это представил
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
try
for номер строки равен от 1 до n do
begin
создать новую строку
создать новую строку
создать новую строку
номер строки:=номер строки+1;(что бы перескакивал через изначально 2ую строку и после нее рисовал ещё 3)
end;
но реализовать это программно у меня не входит
Так же пробовал с объединением:
Код:
for a_:=1 to 5 do
begin
excel.WorkBooks[1].WorkSheets[1].Range['a_,5'].Merge;
end;
тоже не выходит, а так все команды, без циклов, все получается:добавить стоку после какой-то строки или объединить или записать значение
p.s
читал форумы и книгу ВАСИЛИЯ КОРНЯКОВА ПРОГРАММИРОВАНИЕ ДОКУМЕНТОВ И ПРИЛОЖЕНИЙ MS OFFICE в DELPHI про массивы ничего(((
Ответить с цитированием
  #2  
Старый 09.09.2012, 05:43
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 340
Версия Delphi: 11.3
Репутация: 429
Сообщение

А значения, вокруг которых нужно добавить, всегда находятся в столбце "H"? Если так, то можно их забрать в массив, затем разрисовать лист как нужно и добавить значения. А если не так, то нужно просто каждый раз указывать в каком столбце значения.
Что касается объединения ячеек, то вот:
Код:
procedure TfrmGeneral.btnExcelClick(Sender: TObject);
var
  lcid: Integer;
  N: Word;
  Ch: Char;
begin
  lcid := LOCALE_USER_DEFAULT;
  with Excel do
  begin
    Workbooks.Add('', lcid);
    for N := 65 to 66 do // A = 65, B = 66 .. Z = 90
    begin
      Ch := Char(N);
      Range[Ch + '1', Ch + '4'].Merge(0);
    end;
    Visible[lcid] := True;
  end;
end;
Может натолкнет на мысль какую-нибудь тебя...
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter