Главная страница
    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.042 c
1-1106181479
Алексей
2005-01-20 03:37
2005.01.30
Как удалять объекты, связаные с TTreeNode.Data


9-1098168304
Malefic
2004-10-19 10:45
2005.01.30
Движение спрайта по прямой, учитывая угол поворота.


8-1098353994
Ozone
2004-10-21 14:19
2005.01.30
Bitmaps to AVI


4-1102448133
mefisto
2004-12-07 22:35
2005.01.30
Передача "сигнала" программе.


3-1104147561
Sergej
2004-12-27 14:39
2005.01.30
Проблема с Footer в dbgrideh





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