Як з проги викликати excel
Як з проги викликати EXCEL?
вибачте за повторюваний питання.
мені треба з моєї проги викликати Excel і завантажити в нього файл -
вся біда в цьому файлі - це текстовий файл-звіт з роздільниками колонок TAB.
Звичайний * .xls можна було завантажити через ShellExecute.
Поки я вирішив проблему через WinExec, але цей вар-т мені не подобається тим що доводиться вказувати повний шлях до Excel. Зрозуміло що у др.юзеров цей шлях може змінюватися, відповід-но виникає необхідність з'ясовувати це шлях.
коротше спосіб корявий і мені не дуже подобається.
Як можна більш ефективніше вирішити проблему?
Можна дізнатися шлях до Excel "ю через реєстр або FindExecutable () і завантажити через ShellExecute ()
в даному варіанті шлях до excel знати не треба досить знати тільки шлях до текстового файлу.
uses comobj;
.
var
excel: variant;
.
begin
Excel: = CreateOleObject ( "excel.application");
excel.open (FileName.);
.
end;
які пераметри треба вказати для Open подивися в довідці по VBA для excel + використовуй макрорекордер.
Для D5 та вище:
uses Excel97, OleServer;
.
var EA # 032 ;. TExcelApplication;
# 032; # 032; EAB. ExcelWorkbook;
begin
EA: = TExcelApplication.Create (self);
EA.ConnectKind: = ckRunningOrNew;
EA.Connect;
EA.Visible [0]: = false;
EAB: = EA.Workbooks.Add ( "повний шлях до файлу", 0);
EA.Visible [0]: = true;
FreeAndNil (EA);
end;
IMHO, так працювати удрбнее - синтаксичні помилки заріже компілятор +
буде "підрядковий переклад" з методами.
А мені ось варіант SONG "a (22.05.02 10:51) більше подобається. Геморою менше.
На королівстві з цього приводу в розділі "Hello Word" кілька статей "По хвилях інтеграції."
Шановний, а який ключ реєстру однозначно призведе до Excel
знайшов "лівий" спосіб вирішення проблеми (може куму буде цікаво)
я свій генерується TXT-файл записав з розширенням XLS
і ShellExecute благородно його "підняв" разом з EXCEL-em :)))