Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.09;
Скачать: CL | DM;

Вниз

Подкиньте пожалуйста пример 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 вся ветка

Текущий архив: 2002.09.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
1-26985
Солнечный
2002-08-29 17:06
2002.09.09
TButton


3-26918
Pingo
2002-08-19 18:15
2002.09.09
Upper и русские буквы


3-26888
michael_b
2002-08-20 09:12
2002.09.09
безопастность и санкционирование доступа


1-27074
radix
2002-08-27 09:49
2002.09.09
Программа подвисает при копировании большого файла


14-27183
Malder
2002-08-12 23:17
2002.09.09
Безопасность - 2