Форум: "WinAPI";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];
ВнизПодкиньте пожалуйста пример SaveAs для Excel из Delphi Найти похожие ветки
← →
voronkov (2002-07-08 12:21) [0]Задача такая - надо открыть в фоновом режиме Excel, напихать туда чего-то и сохранить в заранее известном файле. Все это делается, кроме записи. При вызове метода Save все время выскакивает диалог записи файла, мне он совершенно не нужен. Подскажите пожалуйста работающий пример функции SaveAs объекта Excel.
← →
troits (2002-07-08 12:44) [1]Работающего примера нет, но попробуй вызвать метод
SaveAs(Filename: OleVariant; ...
у WorkBook - а. (Например Application.ActiveWorkBook.SaveAs...)
Мне кажется, что проблем быть не должно.
← →
voronkov (2002-07-08 13:14) [2]Я вызываю этот метод, но в нем куча параметров. Некоторые я проставил, но что-то не подходит, хотя все компилируется. Я не могу найти на все эти параметры описания, поэтому выскакивает ошибка, что-то типа "invalid index" или что-то подобное. Вот вся эта ботва из файла excel97.pas :
procedure SaveAs(const Filename: WideString; FileFormat: OleVariant; Password: OleVariant;
WriteResPassword: OleVariant; ReadOnlyRecommended: OleVariant;
CreateBackup: OleVariant; AddToMru: OleVariant; TextCodepage: OleVariant;
TextVisualLayout: OleVariant; lcid: Integer); safecall;
Что такое, например TextCodepage? Я потому и прошу работающий пример, потому что кто-то уже наверняка на эти грабли наступал. Но неужели все открывают Excel, а потом заставляют юзверя руками все это сохранять, нелогично как-то, особенно если это отчет формируется в пакете и куда-то отсылается, как в моем случае.
← →
USAtyj (2002-07-08 13:29) [3]У меня код такой работает:
...
if FileExists(FileName) then // если такой файл уже есть - удаляем, иначе сохранить не получится.
DeleteFile(PChar(FileName));
Excel.ActiveWorkBook.SaveAs(FileName);
Excel.ActiveWorkBook.Close(SaveChanges := True);
Excel:=UnAssigned;
...
А то, что ты написал - это, кажется, в Word так сохранять надо.
← →
TTCustomDelphiMaster (2002-07-08 13:33) [4]А я так сохраняю файл
Workbook.SaveCopyAs(dir+destname30);
← →
voronkov (2002-07-08 16:38) [5]Да, господа. Типа все хорошо, но только на словах. Попробовал как сказал USAtyj, но все та же песня, компилятор говорит, что не хватает параметров, все параметры я перечислил выше, никакие они не word-овские.
Если делать как у TTCustomDelphiMaster, то там тоже не хватает одного параметра, а именно lcid. Я ставлю 0, все компилируется, но выдетает Access violation. Я создаю файл из шаблона, может это на что-то влияет. Блин, как у вас все это работает, может тут тайна какая-то, может можно как-то компилятор убедить компилировать без параметров?
← →
voronkov (2002-07-08 16:48) [6]Господа, я тут одурел от жары. Я пытался записывать после того как уже освободил все объекты.
Запись работает только со всеми параметрами, все записывается, но некоторые параметы нужны. Всем большое спасибо.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c