Главная страница
    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.092 c
9-1098387885
OranZevjii
2004-10-21 23:44
2005.01.30
Вывод спрайтов


14-1105635943
Tankist
2005-01-13 20:05
2005.01.30
Все религии неверные?


14-1105687741
Ihor Osov'yak
2005-01-14 10:29
2005.01.30
Нужен совет о комплектации системы (сpu, monitor)


14-1105608489
DiamondShark
2005-01-13 12:28
2005.01.30
Проверь свою политическую грамотность!


1-1105696549
Hmm
2005-01-14 12:55
2005.01.30
Можно ли программно определить "испорчен" ли JPG файл или нет?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский