Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Corba";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Вниз

Как избавиться от сообщений Excel при закрытии Workbooks ?   Найти похожие ветки 

 
Karbo   (2004-04-17 20:13) [0]

При работе с таблицей Excel выплывает такое сообщение:

Сохранить изменения в FILENAME.XLS ?
Microsoft Excel пересчитывает формулы при открытии файлов, сохраненных в предыдущей версии Excel
Да Нет Отмена

Как избавиться от этого окна ? Никаких изменений в  FileName.xls не вносится и  совсем не надо ничего пересчитывать. Код такой:

...
uses Excel97;  //хоть бы и Exel2000
...
function GetExcelData ( Owner : TComponent;  CONST FileName : string )  : TAnytype;

    var
          Excel           :  TExcelApplication;

    begin
    Excel := TExcelApplication.Create(Owner);
    Excel.Connect;
    Excel.Workbooks.Open  
    (  FileName,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                       EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                       EmptyParam,EmptyParam,EmptyParam,EmptyParam,0);  
    {
      Здесь код чтения из  FileName.xls
    }

    excel.Workbooks.Close(0);  //вот здесь и выплывает "Сохранить изменения ?..."
    Excel.Quit;
    Excel.Disconnect;
    Excel.Free;
    end;


 
sandima   (2004-04-18 17:10) [1]

В VBA это выглядит так

"Закрытие файла без сохранения изменения
Workbooks(LoadFileName).Close SaveChanges:=False

а как будет в Delphi не знаю может
Excel.WorkBooks.Close(1); //что означает lcid ?

А как ты обращаешься к ячейкам на листе?


 
sandima   (2004-04-18 17:17) [2]

Там есть интересный момент. Если ты выполняешь копирование большого объема,то все это дело пишется в Clipboard и при закрытии WoirkBook выдается запрос на уничтожение данных в Clipboard-е, при чем работать с ним не позволяет даже VBA, но обойти можно скопировав перед закрытием в Clipboard например одну букву. Да Clipboard у wind-ы и MicrosOffice разные.


 
voprosik   (2004-04-19 06:54) [3]

по-моему, надо просто передать объекту Excel после создания команду:
Excel.DisplayAlerts := False


 
Виталий   (2004-04-19 10:31) [4]

Можно сделать так. Изменения сохранить в новом файле, а старый
закрыть без сохранения.


 
TransparentGhost   (2004-04-19 11:57) [5]

Excel.DisplayAlerts := False ne vsegda podhodit...
naprimer, jesli bili otkriti kakije-to dokumenti i redaktirovalis"- po oshibke mozhno nazhat" na zakritije vsego Excela, i on molcha zakrojeca ne sprosiv nichego o teh dokumentah, kotorije bili otkriti i redaktirovalis" :o(


 
Alex*   (2004-04-19 12:02) [6]

...
var IBookPrice: array [0..2] of TExcelApplication;
...
IBookPrice[1].ActiveWorkbook.Close(true,EmptyParam,false,0);
....

С наилучшими пожеланиями


 
Alex*   (2004-04-19 12:05) [7]

Первое сообщение как закрыть Excel без запросов на подтверждение закрытия.

А это как сохранить
IBookPrice[1].ActiveWorkbook.SaveAs("C:\"+Table1.FieldValues["NAME_ORGON"],xlNormal,"","",false,false,xlNoChange,e mptyParam,emptyParam,emptyParam,emptyParam,0);


 
Smart   (2004-04-20 06:30) [8]

Перед закрытием Excel добавь такой код:

ExcelApplication1.Save;

после этого он не будет выдавать запрос на сохранение.



Страницы: 1 вся ветка

Форум: "Corba";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.036 c
1-1106120498
Lera
2005-01-19 10:41
2005.01.30
Переполнение памяти.


14-1105512249
NeyroSpace
2005-01-12 09:44
2005.01.30
Недавно открыл для себя ANTIMULT.RU


14-1105530696
YurikGL
2005-01-12 14:51
2005.01.30
Ищутся форумы по средствам связи


14-1105290487
Василий
2005-01-09 20:08
2005.01.30
Вам известен ресурс http://delphigfx.mastak.ru/ ?


4-1102570024
NetDigger
2004-12-09 08:27
2005.01.30
Работа с окнами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский