Показать сообщение отдельно
  #8  
Старый 19.04.2018, 00:01
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Ага, понятненько, попытаюсь повторить, заходите к нам немного попозже, результат в этом посте тогда выложу, если чего получится

З.Ы. Прекрасно ваш код работает, просто в нём мусора навалом, видимо издержки копипасты, второй диалог лишний, зачем-то циклы крутятся, хотя и не используются, да много чего ещё, вот вариант после правки
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
 exApp,exBook,exBook2,exSh,exSh2: Variant;
begin
  if not OpenDialog1.Execute then exit;

  exApp:= CreateOleObject('Excel.Application');
  exApp.Visible:= false;
  exBook:= exApp.Workbooks.Open(OpenDialog1.FileName);
  exSh:= exApp.ActiveWorkbook.WorkSheets[1];

  if not OpenDialog1.Execute then exit;

  exBook2:= exApp.Workbooks.Open(OpenDialog1.FileName);
  exSh2:= exApp.ActiveWorkbook.WorkSheets[1];
  exSh2.Move(EmptyParam, exBook.WorkSheets[1]);
  exBook.Save;
  exBook.Close;
  exBook2.Close;
  exApp.Quit;
  exApp:= Unassigned;
  ShowMessage('Лист перемещен');
end;
углубляться не стал, хотя следовало бы - при вылете, напр. если диалог закроется пустым или что сорвётся, экзель останется висеть в процессах, нужна обработка исключений, но это как говорится, не ходовая
Ответить с цитированием