hallo Bernd,
ich lösche nun in der beforeclose alle Filter die '_FilterDatabase' beinhalten,
jetzt habe ich Ruhe!
Ob Excel diese internen Filter irgendwie verwendet konnte ich nicht in Erfahrung bringen.
Delphi-Quellcode:
procedure TKMHaupt.ActWbkBeforeClose(ASender: TObject; var Cancel: WordBool);
var
sheet: TExcelWorkSheet;
TN : Names;
TIN: Excel2000.Name;
LegID, nam: string;
i, j, x : integer;
begin
ActWbk := TExcelWorkbook(ASender);
sheet := TExcelWorkSheet.Create(nil);
for i := 1 to ActWbk.Sheets.Count do
begin
sheet.connectTo(ActWbk.Sheets[i] as _Worksheet);
sheet.AutoFilterMode[LCID] := False;
TN := sheet.Names;
for x := 0 to TN.Count -1 do
try
TIN := TN.Item(x, EmptyParam, Emptyparam);
nam := TIN.Name_;
if POS('_FilterDatabase', Nam) > 0 then
try
TIN.Delete;
except
end;
except
end;
end;