maison
Top.Mail.Ru Yandeks.Metrika
Forum: "Main";
Archive actuelle: 2004.12.12;
Télécharger: [xml.tar.bz2];

vers le bas

Fermer un objet OLe Trouver des branches similaires


Майя   (2004-12-01 10:47) [0]

Работаю с екселем, потом закрываю его, но процесс остается висеть. Как его еще можно закрыть? Делаю вот как:
RangeMatrix: = Non assigné;
  XLApp.Workbooks.Close;  
    XLApp.Quit;
    XLAPP := Unassigned;
    XLAPP := Null;

Уже все испробовала - не помогает :((



YurikGL ©   (2004-12-01 11:38) [1]

Кроме  XLAPP больше никаких объектов не создавала? Типа  XLWorkSheet?

Если создавала, то их тоже надо очищать.



olookin ©   (2004-12-01 12:24) [2]

Et je fais ça:

 if not VarIsEmpty(Excel) then begin
 Excel.Quit;
 VarClear(Excel);
fin

И ничего не висит в списке процессов. Насчет [1] про создание листов и тому подобного. Если имеется в виду создание в рамках объекта ExcelApplication, то это можно делать как угодно долго и ничего очищать дополнительно не приходится.



Майя   (2004-12-01 13:18) [3]

Создавала
XLApp := CreateOleObject("Excel.Application");
Essai
  // Hide Excel
  XLApp.Visible := False;

  // Open the Workbook
  XLApp.Workbooks.Open(AXLSFile);

   // Sheet := XLApp.Workbooks[1].WorkSheets[1];
  Sheet := XLApp.Workbooks[ExtractFileName(AXLSFile)].WorkSheets[list];  //номер листа, с которого читаем данные

  Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;
  // Get the value of the last row
  x := XLApp.ActiveCell.Row;
  // Get the value of the last column  
  y := XLApp.ActiveCell.Column;

  // Set Stringgrid"s row &col dimensions.

  AGrid.RowCount := x;
  AGrid.ColCount := y;  

  // Assign the Variant associated with the WorkSheet to the Delphi Variant  

  RangeMatrix := XLApp.Range["A1", XLApp.Cells.Item[X, Y]].Value;  
  //  Define the loop for filling in the TStringGrid

Но я уже написала
Sheet:=Unassigned;
и все равно процесс остается



Майя   (2004-12-01 13:29) [4]

Да, действительно, после VarClear(Excel);  процесс исчезает
Но после этого я пытаюсь вновь создать объект и обратиться к другому листу того же самого документа.
Если обращаюсь к тому же что и раньше - все ок
А если к другому - выдается ошибка
Метод Activate объекта Range отработал некорректно
На вот этой строке:
Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;



Pages: 1 branche entière

Forum: "Main";
Archive actuelle: 2004.12.12;
Télécharger: [xml.tar.bz2];

à l'étage









Mémoire: 0.56 MB
Heure: 0.054 c
4-1099042237
Était
2004-10-29 13:30
2004.12.12
Simuler la frappe F2 non par key_event


3-1100159430
denis24
2004-11-11 10:50
2004.12.12
supprimer une entrée de table


14-1101200631
Nikolay M.
2004-11-23 12:03
2004.12.12
Excel se bloque lors de l’ouverture de données externes: (


3-1099996664
sergeii
2004-11-09 13:37
2004.12.12
Filtrage


14-1101115638
dDan
2004-11-22 12:27
2004.12.12
Client IRC





afrikaans albanais Arabic arménien azerbaïdjanais basque Biélorusse Bulgare catalan Chinois simplifié) Chinois (traditionnel) croate Tchèque Danois Néerlandais English estonien Filipino Finlandais Français
galicien géorgien Allemand Grecque Créole haïtien hébreu Hindi Hongrois Islandais Indonesian irlandais Italien japonais Coréen letton lituanien macédonien Malay maltais Norvégien
persan Polonais Portugais roumain Russe serbe Slovaque Slovène Espagnol Swahili Suédois Thai turc ukrainien Urdu vietnamien gallois yiddish bengali bosniaque
Cebuano espéranto gujarati Hause hmong Igbo Javanais Kannada Khmer lao latin maori Marathi mongol népalais punjabi somali tamil telugu yoruba
zoulou
Английский Français Allemand Italien Португальский Русский Espagnol