Авторизация

Логин: Пароль:
Регистрация Забыли свой пароль?

Сортировка строк в Excel из Delphi

Страницы: 1
Сортировка строк в Excel из Delphi
Как можно сортировать строки в Excel файлах, с помощью программ написаннных на delphi Пытаюсь так
Код
  //выводим отчет в Excel
  stname:=Application.ExeName;
  while stname[length(stname)]<>'\' do
    delete(stname,length(stname),1);
  stname:=stname+'Reports\'+'Итоги.xlt';
  e:=CreateOleObject('Excel.application');

  e.workbooks.open[stname,0,true];
  e.ActiveSheet.Unprotect('123'); 

  //Запись данных в Excell

  //Здесь должна быть сортировка

  e.ActiveSheet.protect('123'); 
  e.visible:=true;
Есть два варианта:
1. Сортировать данные в delphi и потом записовать их в Excell
2. Создать макрос в Excell и портировать его в Delphi
А как это портировать макрос на Delphi. Я недавно совсем этим занимаюсь, поэтому много еще не знаю. Создал макрос
Код
Sub Макрос1111111111111()
    Selection.Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub


Теперь, что его записать прямо в Delphi?
Изменено: Игорь Васильев - 11.12.2009 18:22:03
Правильно вот так
Код
E.Open('НастройкаГдеЛежитМакрос1111111111111.XLA');
E.Run('Макрос1111111111111');
Может лучше сразу засунуть макрос в XLT
Не думаю, что это хороший вариант, потому что в этом случаи будут пояляться нежелательные сообщения.
Эти сообщения можно отключить и тогда проблем не возникнет.
Я планирую запускать эту программу не только на своем компьютере, но и у других пользователей, а без их разрешения такого лучше не делать.
Тогда понятно. Если планируется распространение лучшим вариантом будет тот который предложил Игорь.
Страницы: 1
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)