Главная страница
    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.067 c
14-1105616345
DSKalugin
2005-01-13 14:39
2005.01.30
порекомендуйте софт для создания справочных систем


1-1105774192
Phantomouse
2005-01-15 10:29
2005.01.30
Как отследить закрытие программы


1-1105712210
Skiner_Y
2005-01-14 17:16
2005.01.30
Меню


1-1105701874
Axeman
2005-01-14 14:24
2005.01.30
Как закрыть???


8-1098001082
Ralf
2004-10-17 12:18
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский