Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Schreibschutz in Excel (https://www.delphipraxis.net/39171-schreibschutz-excel.html)

XHelp 30. Jan 2005 15:01

Re: Schreibschutz in Excel
 
Ich habe es endlich hingekriegt:

Code:
procedure TForm1.Button2Click(Sender: TObject);
var
xls, xlw, xlw1: Variant;
p:string;
i,i1:integer;
sl:TStringList;
sr: TSearchRec;
begin
ForceDirectories(ExtractFileDir(Application.ExeName) + '\protected\' );
{load MS Excel}
xls := CreateOLEObject('Excel.Application');
sl:=TStringList.Create;
if FindFirst(ExtractFileDir(Application.ExeName) + '\*.xls', faAnyFile, sr) = 0 then
  begin
    repeat
      sl.Add(ExtractFileDir(Application.ExeName) + '\' + sr.Name);

    until FindNext(sr) <> 0;
  FindClose(sr);
end;
PB1.Max:=sl.Count-1;
PB1.Position:=0;
for i:=0 to sl.Count-1 do begin
      {open your xls-file}
      xlw := xls.WorkBooks.Open(FileName :=sl[i] , Password := '', ReadOnly := True);
      pb2.Max:=xls.Sheets.count;
      for i1:=1 to xls.Sheets.count do begin
        xlw1 := xls.Sheets[i1];
        {save with other file name}
        xlw1.Protect(Edit2.Text,true,true);
        pb2.Position:=i1;
      end;
      xlw.SaveAs(FileName := ExtractFileDir(sl[i]) + '\protected\' + ExtractFileName(sl[i]), Password := '');
      xls.Workbooks.close;
      pb1.Position:=i;
end;
xls.Application.Quit;

{unload MS Excel}
xlw := UnAssigned;
xls := UnAssigned;

ShowMessage('Complete');
end;

Keldorn 30. Jan 2005 15:58

Re: Schreibschutz in Excel
 
da fehlt z.B. für das
Zitat:

sl:=TStringList.Create;
noch das free

XHelp 30. Jan 2005 16:00

Re: Schreibschutz in Excel
 
stimmt auch wieder


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:12 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz